在python中使用列表内的startswith()函数

2024-06-16 12:15:55 发布

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

我有下面的字符串列表

some_list = ['9196358485','9966325645','8846853128','8-4-236/2','9-6-32/45','Need to fetch some strings']

从上面的字符串中,我只想要不以91,9,8开头的字符串,而希望使用以8-, 9-开头的字符串

下面是我的代码

^{pr2}$

结果

['Need to fetch some strings']

在上面使用['91','8','9'],因为条件是删除以9 and 8开头的字符串,这是正确的,但是我不想{}也从列表中删除,实际上我的意图是如果上面应该忽略以9 and 8开头的字符串,并且不应该忽略以9- and 8-开头的字符串,我们能否在一行中编写两个条件,在我编写的上述代码中,使用以8-,9-开头的字符串并忽略以9 or 8开头的字符串的概念。在

有人能告诉我怎么做吗。。。。。。。。。。。。。在

编辑代码:

感谢你的支持,如果你不认为这是另一个问题,我有一些实际的输出,下面的代码不起作用

some_list = ['Mr K V  Prasad Reddy(MD)',
 '+(91)-9849633132, 9959455935',
 '+(91)-9849633132',
 'Near NRI College,Opp Vijaya Bank,Nizam Pet Road,Nizampet,Hyderabad - 502102',
 '9196358485',
 '9966325645', 
 '8846853128',
 '8-4-236/2',
 '9-6-32/45',
 'Need to fetch some strings']

当我使用regex应用bwlow代码时,我得到了以下输出 结果:

['Mr K V  Prasad Reddy(MD)',
 '+(91)-9849633132, 9959455935',
 '+(91)-9849633132',
 'Near NRI College,Opp Vijaya Bank,Nizam Pet Road,Nizampet,Hyderabad - 502102',
 '8-4-236/2',
 '9-6-32/45',
 'Need to fetch some strings']

实际上,我不希望列表中的所有电话号码都是这样的,所以它们会以上述格式开头,有时以91有时{}有时{}开头

我们怎样才能把这些电话号码从名单上删除呢?在


Tags: andto字符串代码列表somefetchneed
1条回答
网友
1楼 · 发布于 2024-06-16 12:15:55

使用正则表达式:

>>> import re
>>> [i for i in some_list if not re.match(r"[98]\B|+\(91\)", i)]
['8-4-236/2', '9-6-32/45', 'Need to fetch some strings']

\B只在字母数字字符串中匹配,因此它在9和{}之间匹配,而在{}和{}之间不匹配。在

相关问题 更多 >