index()只会给出列表中第一个出现的项目。有没有整齐的技巧可以返回列表中的所有索引?
index()
你可以使用列表理解:
indices = [i for i, x in enumerate(my_list) if x == "whatever"]
虽然不是直接解决列表问题的方法,但numpy对于这种情况确实很有帮助:
import numpy as np values = np.array([1,2,3,1,2,4,5,6,3,2,1]) searchval = 3 ii = np.where(values == searchval)[0]
返回:
ii ==>array([2, 8])
与其他一些解决方案相比,这对于包含大量元素的列表(数组)而言可能会更快。