[python] 查找列表中重复的元素
2018-03-06 11:42
531 查看
stackoverflow
已有列表:
a = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]写法1:import collections
print [item for item, count in collections.Counter(a).items() if count > 1]
## [1, 2, 5]但是 Counter 效率不高,写法2:seen = set()
uniq = []
for x in a:
if x not in seen:
uniq.append(x)
seen.add(x)第3种写法比第2种写法更为紧凑,但这种写法不那么直观:seen = set()
uniq = [x for x in a if x not in seen and not seen.add(x)] 上面是翻译的,我自己的写法:a = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]
b = set(a)
for each_b in b:
count = 0
for each_a in a:
if each_b == each_a:
count += 1
print(each_b, ": ", count)
# 运行结果:
# 1 : 2
# 2 : 2
# 3 : 1 # 没有重复
# 5 : 4
# 6 : 1 # 没有重复
已有列表:
a = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]写法1:import collections
print [item for item, count in collections.Counter(a).items() if count > 1]
## [1, 2, 5]但是 Counter 效率不高,写法2:seen = set()
uniq = []
for x in a:
if x not in seen:
uniq.append(x)
seen.add(x)第3种写法比第2种写法更为紧凑,但这种写法不那么直观:seen = set()
uniq = [x for x in a if x not in seen and not seen.add(x)] 上面是翻译的,我自己的写法:a = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]
b = set(a)
for each_b in b:
count = 0
for each_a in a:
if each_b == each_a:
count += 1
print(each_b, ": ", count)
# 运行结果:
# 1 : 2
# 2 : 2
# 3 : 1 # 没有重复
# 5 : 4
# 6 : 1 # 没有重复
相关文章推荐
- 查找统计python列表中的重复元素
- python列表--查找集合中重复元素的个数
- python小练习2:删除列表中重复的元素
- python 列表(list)去除重复的元素总结
- Python 去除列表中重复的元素
- C#查找列表中所有重复出现元素代码
- python中如何去除列表中重复的元素
- python中统计列表list中的不重复元素及其相应个数
- 解决python list列表查找重复值的下标值问题
- Python 去除列表中重复的元素
- Python 去除列表中重复的元素
- [python]去除列表中重复元素
- Python实现嵌套列表及字典并按某一元素去重复功能示例
- Python列表去除重复元素
- Python删除列表中重复的元素
- Python实现列表删除重复元素的三种常用方法分析
- 去除列表中不重复的元素 分类: python 小练习 2013-06-25 14:59 245人阅读 评论(0) 收藏
- python去除列表中重复的元素
- Python 查找有序列表中指定元素所在位置
- Python 去除列表中重复的元素