Python-如何查找列表中某个元素的所有匹配项?

问题描述

你可以使用列表理解:

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])

与其他一些解决方案相比,这对于包含大量元素的列表(数组)而言可能会更快。

解决方法

index()只会给出列表中第一个出现的项目。有没有整齐的技巧可以返回列表中的所有索引?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”