Форум сайта python.su
1
как имея вот это :
a = ['a 1', 'a 2', 'b 3', 'b4', 'c 5', 'a 6'] #получить ответ ['a 1', 'a 2', 'c 5, 'a 6']
Офлайн
124
vrнепонятно что нужно,объясните по другому
как имея вот это :
Офлайн
1
нужно найти в списке все элементы по двум ключевым словам в данном случае это буквы а и с и при этом сохранить последовательность
у меня пока есть только вот такой вариант но он не подходит потому что в ответе теряется порядок
a = ['a 1', 'a 2', 'b 3', 'b4', 'c 5', 'a 6'] import re research = ([x for x in a if re.search('a', x)] + [x for x in a if re.search('c', x)])
Отредактировано vr (Авг. 8, 2021 16:45:55)
Офлайн
294
a = ['a 1', 'a 2', 'b 3', 'b4', 'c 5', 'a 6'] print([x for x in a if x[0] in 'ac']) >>> ['a 1', 'a 2', 'c 5', 'a 6'] >>>
[code python][/code]
Офлайн
1
PEHDOMa = ['a 1', 'a 2', 'b 3', 'b4', 'c 5', 'a 6'] print([x for x in a if x[0] in 'ac']) >>> ['a 1', 'a 2', 'c 5', 'a 6'] >>>
vr
по двум ключевым словам в данном случае это буквы
a = ['data 3 august 2222' , 'message text', 'message text la la', 'bla bla bla', 'data 4 august 2222', 'message text la la la' ]
Офлайн
1
ааааааааааааа иногда поражаюсь какой я тупой 
a = ['a 1', 'a 2', 'b 3', 'b4', 'c 5', 'a 6'] import re research = [x for x in a if re.search('a', x) or re.search('c', x)] print (research)

Офлайн
253
vrОно есть и в регулярках. Думаю это будет много эффективнее
я совсем забыл о существовании or
re.search("a|c",line)
Офлайн
857
vr
у меня есть :Найти все элементы списка где фигурирует слово data или messegea = ['data 3 august 2222' , 'message text', 'message text la la', 'bla bla bla', 'data 4 august 2222', 'message text la la la' ]
>>> import re >>> >>> a = ['data 3 august 2222' , 'message text', 'message text la la', 'bla bla bla', 'data 4 august 2222', 'message text la la la' ] >>> >>> out = [i for i in a if i.startswith(('data', 'message'))] >>> out ['data 3 august 2222', 'message text', 'message text la la', 'data 4 august 2222', 'message text la la la'] >>> >>> out = list(filter(re.compile(r'^(data|message)').search, a)) >>> out ['data 3 august 2222', 'message text', 'message text la la', 'data 4 august 2222', 'message text la la la'] >>> >>> patc = re.compile(r'^(data|message)') >>> out = list(filter(patc.search, a)) >>> out ['data 3 august 2222', 'message text', 'message text la la', 'data 4 august 2222', 'message text la la la'] >>>
Офлайн