Как извлечь индекс подстроки в списке python строк (предпочтительно, для быстрой обработки длинных списков)?
python
Например, с mylist = ['abc', 'day', 'ghi'] и символом 'a'Я хотел бы вернуть [0, 1, -1].
mylist = ['abc', 'day', 'ghi']
'a'
[0, 1, -1]
Или с индексом
l = ['abc','day','ghi'] [e.index('a') if 'a' in l else -1 for e in l]
Вы можете использовать str.find с пониманием списка:
str.find
L = ['abc', 'day', 'ghi'] res = [i.find('a') for i in L] # [0, 1, -1]
Как описано в документации:
Вернуть самый низкий индекс встрока, в которой подстрока sub находится внутри среза s[start:end].Необязательные аргументы start и end интерпретируются как обозначения срезов.Вернуть -1, если sub не найдено.
sub
s[start:end]
start
end
-1