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

发布于 2021-02-02 23:23:35

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

关注者
0
被浏览
219
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    你可以使用列表理解:

    indices = [i for i, x in enumerate(my_list) if x == "whatever"]
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    虽然不是直接解决列表问题的方法,但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])
    

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看