Получить индекс частичного совпадения в списке

1

Привет, если у меня есть следующий список:

words = ['maritus', 'et', 'quolibet', 'is', 'habitancium', 'dico', 'locum~locus', 'domus', 'totus', 'tempus', 'vitis', 'is', 'de', 'quolibet', 'ipse']

и следующее слово: locus

и я хочу получить индекс, где он найден в словах, то есть: 6 следующее:

ind = words.index('locus')

будет работать только целыми словами

Теги:
list

1 ответ

3
Лучший ответ

Используйте next() на генераторе, который дает каждое слово в words списка, locus находится in. Однако, поскольку вам нужен индекс, вы должны enumerate список words и получить только индекс, i

next(i for i, w in enumerate(words) if 'locus' in w)
#6

Чтобы получить индексы всех вхождений, мы можем использовать list-comprehension:

[i for i, w in enumerate(words) if 'locus' in w]
  • 0
    Я получаю сообщение об ошибке -ValueError: слишком много значений для распаковки (ожидается 2)
  • 0
    @ Ганнина Ты уверен? Я добавлю вывод от интерпретатора к ответу, чтобы показать, что он работает.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню