Необходимо искать Частичный текст в списке в списке - PullRequest
0 голосов
/ 29 июня 2018

У меня есть списки в списке, и мне нужно вернуть индекс списка на основе совпадения частичного текста.

stock1 = [['fiscal year from Jan', 2013,2014,2015],['Net Income in billions, '2.4B','3.5B','4.1B'],['Net Expense in billions', '1.6B','2.4B','3.5B']]

stock2 = [['fiscal year from June', 2013,2014,2015],['Net Income in billions, '1.5B','2.1B','2.8B'],['Net Expense in billions', '0.7B','1.4B','2.1B']]
search = 'fiscal'
indices = [i for i, s in enumerate(stock1) if search in s]
print(indices)

Он печатает [] вместо [0].

Возможно, что начало Fiscal другое. Иногда это январь, а иногда июнь. Поэтому мне нужно искать только по слову 'fiscal'.

1 Ответ

0 голосов
/ 29 июня 2018

Вам нужно заглянуть внутрь первой переменной каждого списка (которая является описанием), а не в общем списке:

indices = [i for i, l in enumerate(stock1) if search in l[0]]

Я пометил его как l, что означает список, вместо s, так как при перечислении по списку списки приводят к извлечению списков.

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