Метод списка *1001*mylist.index("blah")
возвращает индекс первого вхождения элемента "бла":
>>> ["item 1", "blah", "item 3"].index("blah")
1
>>> ["item 1", "item 2", "blah"].index("blah")
2
Это вызовет ValueError, если он не может быть найден:
>>> ["item 1", "item 2", "item 3"].index("not found")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.index(x): x not in list
Вы также можете использовать ключевое слово in
, чтобы определить, есть ли элемент в списке (но не в местоположении):
>>> "not found" in ["item 1", "blah", "item 3"]
False
>>> "item 3" in ["item 1", "blah", "item 3"]
True
Как прокомментировал Харпер Шелби, Python все равно придется выполнять внутреннюю итерацию, чтобы найти элементы, но индекс или методы могут быть на немного быстрее, чем в Python, поскольку структуры данных реализованы C .. но что более важно,
"x" in mylist
.. на намного аккуратнее, чем ..
found = False
for cur in mylist:
if cur == "x":
found = True