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)
结果如下:
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