如何在列表中查找所有出现的元素
问题描述
index()
will give the first occurrence of an item in a list. Is there a neat trick which returns all indices in a list for an element?
You can use a list comprehension:
indices = [i for i, x in enumerate(my_list) if x == "whatever"]
The iterator enumerate(my_list)
yields pairs (index, item)
for each item in the list. Using i, x
as loop variable target unpacks these pairs into the index i
and the list item x
. We filter down to all x
that match our criterion, and select the indices i
of these elements.
相关文章