在列表python中匹配多个str

2024-09-30 06:29:40 发布

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

全部

a = ['T01--X','T02--X','T03--X','T04--XX','T01--X','T01--Y','T05--X','T02-YY','T01-T02','T02-T03']

如何匹配此列表中包含T01、T02或T03的str?你知道吗

提前谢谢


Tags: 列表xxstryyt02t01t05t03
3条回答
a = ['T01 X','T02 X','T03 X','T04 XX','T01 X','T01 Y','T05 X','T02-YY','T01-T02','T02-T03']

for i in a:
    if 'T01' in i or 'T02' in i or 'T03' in i :
        print(i)

输出:

T01 X
T02 X
T03 X
T01 X
T01 Y
T02-YY
T01-T02
T02-T03

你是说有条件的列表?你知道吗

在这种情况下,您可以使用:

>>> [item for item in a if any(substr in item for substr in ['T01', 'T02', 'T03'])]
['T01 X', 'T02 X', 'T03 X', 'T01 X', 'T01 Y', 'T02-YY', 'T01-T02', 'T02-T03']

方法1

使用简单的forif循环。你知道吗

a = ['T01 X','T02 X','T03 X','T04 XX','T01 X','T01 Y','T05 X','T02-YY','T01-T02','T02-T03']

result = []
for element in a:
     if 'T01' in element or 'T02' in element or 'T03' in element :
             result.append(element)
print result

方法2

使用列表理解。一个更像Python的方式!你知道吗

a = ['T01 X','T02 X','T03 X','T04 XX','T01 X','T01 Y','T05 X','T02-YY','T01-T02','T02-T03']
print [elt for elt in a if 'T01' in elt or 'T02' in elt or 'T03' in elt]

希望这有帮助!你知道吗

相关问题 更多 >

    热门问题