Python 统计列表中重复元素的个数并返回其索引值的实现方法

作者:弓长无忌 时间:2023-07-15 12:31:24 

需求:统计列表list1中元素3的个数,并返回每个元素的索引

list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]

在实际工程中,可能会遇到以上需求,统计元素个数使用list.count()方法即可,不做多余说明

返回每个元素的索引需要做一些转换,简单整理了几个实现方法

1 list.index()方法

list.index()方法返回列表中首个元素的索引,当有重复元素时,可以通过更改index()方法__start参数来更改起始索引

找到一个元素后,将起始索引替换为该元素的下一个索引,继续进行查找,直到找到所有的元素索引


list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
count = list1.count(3)
index_list = []
index = -1

# 通过list.index()方法的__start参数,指定起始索引
for i in range(0, count):
   index = list1.index(3, index + 1)
   index_list.append(index)

print(index_list)

结果如下:

Python 统计列表中重复元素的个数并返回其索引值的实现方法

2 通过索引遍历原列表,对每一个元素进行判断

通过索引遍历原列表,对每一个元素进行判断,如果元素是目标元素,则返回对应索引值,示例如下:


list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
list1_len = len(list1)
index_list = []

for i in range(0, list1_len):
   if list1[i] == 3:
       index_list.append(i)

print(index_list)

结果同上

3 enumerate()函数和列表推导式

使用enumerate()函数返回可解析的index-value列表,然后使用列表推导式,同时使用if条件过滤得到目标值的索引,示例如下:


list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
index_list = [a for a, b in enumerate(list1) if b == 3]
print(index_list)

结果同上

各位大佬有好的实现方法可以在下方评论分享一下

来源:https://www.cnblogs.com/programmer4027/archive/2021/05/06/14723497.html

标签:Python,统计列表元素,索引值
0
投稿

猜你喜欢

  • js与jquery获取父元素,删除子元素的两种不同方法

    2023-10-07 04:08:00
  • Python实现图的广度和深度优先路径搜索算法

    2021-09-14 23:50:19
  • 关于对Java正则表达式"\\\\"的理解

    2023-06-24 07:23:02
  • python定义类self用法实例解析

    2022-01-08 14:11:01
  • Go语言从单体服务到微服务设计方案详解

    2023-09-02 02:45:57
  • 详解python pandas 分组统计的方法

    2021-01-30 05:33:48
  • SQL Server中row_number函数用法入门介绍

    2024-01-26 22:45:04
  • Python使用20行代码实现微信聊天机器人

    2023-12-04 12:52:06
  • python机器学习Github已达8.9Kstars模型解释器LIME

    2022-06-21 13:38:28
  • javascript基于prototype实现类似OOP继承的方法

    2024-05-02 16:29:15
  • python+excel接口自动化获取token并作为请求参数进行传参操作

    2022-05-19 04:10:18
  • Python模仿POST提交HTTP数据及使用Cookie值的方法

    2022-05-04 04:37:35
  • python读写csv文件方法详细总结

    2022-11-03 20:46:04
  • 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能

    2024-01-14 16:30:38
  • python之信息加密题目详解

    2023-06-26 09:24:35
  • Python使用Keras OCR实现从图像中删除文本

    2022-07-22 20:50:24
  • Vue Cli3 创建项目的方法步骤

    2024-05-21 10:16:53
  • 浅析Go设计模式之Facade(外观)模式

    2023-07-16 19:23:08
  • django定期执行任务(实例讲解)

    2022-12-13 20:43:35
  • Python实现像awk一样分割字符串

    2022-07-29 18:42:07
  • asp之家 网络编程 m.aspxhome.com