如何使用python在给定的字符串中找到第二个相同的单词?

2024-09-29 22:04:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的示例字符串:“x:2:x,z:3:z,w:4:w,x:22:x” 我的目标是找到字母“X”之间的数字,我能够找到使用下面的代码,但这只适用于第一次出现或字母“X”,如何做为第二次出现,我不知道如何使用循环?你知道吗

        Start_strp = BGP.find('x')
        strp_BGP = BGP[Start_strp+len(content)+1:3]
        return "peer-address:" + strp_BGP

Tags: 字符串代码示例目标lenreturnaddress字母
1条回答
网友
1楼 · 发布于 2024-09-29 22:04:59

我将使用字符串方法splitstrip。这些可能非常有用:split根据分隔符将字符串拆分为一个列表,strip删除字符串周围的空格。我将使用in运算符来代替find,因为对于我将介绍的情况,我们只需要检查“x”是否存在,而不是它的位置。你知道吗

我还将使用已经内置的函数mapfilter,它们都将函数应用于列表中的每个元素。Filter将只返回那些函数返回True的元素,map将为列表中的每个元素返回函数的输出。关键字lambda定义了一个匿名函数,输入和输出用冒号分隔。你知道吗

s = "x: 2 : x, z: 3 :z, w :4: w,x:22:x "

l = s.split(',')  # ['x: 2 : x', ' z: 3 :z', ' w :4: w', 'x:22:x ']
f = filter(lambda s: 'x' in s, l)  # ['x: 2 : x', 'x:22:x ']
map(lambda s: s.split(':')[1].strip(), f) 
['2', '22']

我鼓励您使用这些函数,但我也理解掌握for循环很重要。最好的!你知道吗

相关问题 更多 >

    热门问题