Python 从list中统计相同值的索引值

Python 从list中统计相同数字的个数

在实际工作中会遇到需要使用list中每个值的索引位置,但是也会遇到一种特殊情况,就是列表中有大量相同的值,这是获取列表的索引比较麻烦。

a = [1,2,3]

a.index(1)
# 0

a.index(2)
# 1

特殊情况

a = [1,2,3,1,2,3]

a.index(1)
# 0

a.index(1)
# 0

如何解决?

使用defaultdict()

from collections import defaultdict

a=[1,2,3,1,2,3]
d = defaultdict(list)
for i, v in enumerate(a):
    d[v].append(i)

应用实例

leetcode 两数之和
原文:http://www.chenxm.cc/post/711.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,566评论 8 265
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 冬天的雨 冷冷的,无情的, 冲刷着每一个过往的行人, 两行热泪 轻轻的,慢慢的 流淌在你我的脸上, 谁成为谁生命里...
    汪小瑞阅读 251评论 0 0
  • 今天是大年三十了,一大早起床推开门,竟是毫无冷意,有些凉爽的感觉。昨晚看到天上的星星就知道今天会是个大晴天,但想着...
    国宴阅读 167评论 1 0
  • 黑发伊始,白发未终。抱憾终去,又待来生。
    左手流沙阅读 95评论 0 2