如何在列表项 python 中查找字符串
How to find string in item of list python
我需要你的帮助,因为我想在列表中找到一个 str 以获得完整的项目。
my_list:
看起来像:
['Mont Saint Martin, 42 rue de Bordeaux', 'Mont de Marsan, 100 avenue Pierre de Coubertin', 'Lyon, 56 rue du Docteur Alb\xc3\xa9ric Pont', 'Lille, 90 rue d\xe2\x80\x99Arras', 'Lyon, 2 all\xc3\xa9e des fleurs']
str:
看起来像:
"saint" 或 "de"
处理后的预期列表我想在','之前检查:
['Mont Saint Martin']
或 str = "de"
['Mont de Marsan']
我试过:
new = filter(lambda x: x.my_list == str, x)[0]
谢谢你的帮助。
使用re.match
函数。
>>> l = ['Mont Saint Martin, 42 rue de Bordeaux', 'Mont de Marsan, 100 avenue Pierre de Coubertin', 'Lyon, 56 rue du Docteur Alb\xc3\xa9ric Pont', 'Lille, 90 rue d\xe2\x80\x99Arras', 'Lyon, 2 all\xc3\xa9e des fleurs']
>>> st = ["saint","de"]
>>> for i in st:
for j in l:
for x in j.split(','):
if re.match(r'(?i)\S+ ' + i + r' \S+$', x):
print(x)
Mont Saint Martin
Mont de Marsan
>>>
cities = [w.split(',')[0] for w in my_list]
term = "de"
results = [city for city in cities if term in city.lower()]
我需要你的帮助,因为我想在列表中找到一个 str 以获得完整的项目。
my_list:
看起来像:
['Mont Saint Martin, 42 rue de Bordeaux', 'Mont de Marsan, 100 avenue Pierre de Coubertin', 'Lyon, 56 rue du Docteur Alb\xc3\xa9ric Pont', 'Lille, 90 rue d\xe2\x80\x99Arras', 'Lyon, 2 all\xc3\xa9e des fleurs']
str:
看起来像:
"saint" 或 "de"
处理后的预期列表我想在','之前检查:
['Mont Saint Martin']
或 str = "de"
['Mont de Marsan']
我试过:
new = filter(lambda x: x.my_list == str, x)[0]
谢谢你的帮助。
使用re.match
函数。
>>> l = ['Mont Saint Martin, 42 rue de Bordeaux', 'Mont de Marsan, 100 avenue Pierre de Coubertin', 'Lyon, 56 rue du Docteur Alb\xc3\xa9ric Pont', 'Lille, 90 rue d\xe2\x80\x99Arras', 'Lyon, 2 all\xc3\xa9e des fleurs']
>>> st = ["saint","de"]
>>> for i in st:
for j in l:
for x in j.split(','):
if re.match(r'(?i)\S+ ' + i + r' \S+$', x):
print(x)
Mont Saint Martin
Mont de Marsan
>>>
cities = [w.split(',')[0] for w in my_list]
term = "de"
results = [city for city in cities if term in city.lower()]