Как найти предметы с заданной фразой в списке? - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть список определенных выражений, и мне нужно извлечь из него те, которые содержат фразу «2008».

['"test" "," bla bla 2009 bla bla "', '"бла бла 2008 бла бла" ']

Мне нужно получить в некоторой переменной порядковые номера всех элементов списка с фразой "2008". В приведенном примере это будет 3 элемента.

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Это делает работу. Он просто использует цикл for с ключевым словом in .

l = [' "test"', ' "bla bla 2009 bla bla"', ' "bla bla 2008 bla bla"']
index_list = []
for i in range(len(l)):
  if "2008" in l[i]:
    index_list.append(i)

Вывод:

print(index_list) # prints '[2]'
0 голосов
/ 08 ноября 2019

Попробуйте

l = [ "test",  "bla bla 2009 bla bla",  "bla bla 2008 bla bla"]
items = [elem for elem in l if '2008' in elem]
indices = [i for i, x in enumerate(l) if '2008' in l]
# before: indices = [l.index(item) for item in items]
print(indices) # [2]

Индексы выбираются с использованием метода index для списков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...