python查找列表重复项
2023-01-22
阅读(1140)

问:python找出列表元素重复个数和重复值
- 答:输出列表元素重复个数
def get_element(data):
dic = {}
i = 0
while i < len(data):
if data[i] in dic:
"""
循环查找列表元素,如果一个元素出现一次,value就等于1,多次出现,value就增加
"""
dic[data[i]] += 1
else:
dic[data[i]] = 1
i += 1
for j, k in dic.items():
if k > 1:
print('data数组中重复的元素有%d,它的个数是%d个'%(j,k))
print(dic)
my_list =[1,2,3,4,2,4,2,3,4,5,6,23,23,32]
get_element(my_list)
问:如何找出 python list 中有重复的项
- 答:可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。
list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。
set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# {4,5} - 答:def finddupl(lst):
"""找出 lst 中有重复的项
(与重复次数无关,且与重复位置无关)
"""
exists, dupl = set(), set()
for item in lst:
if item in exists:
dupl.add(temp)
else:
exists.add(temp)
return dupl - 答:l = [1,1,2,2,2,3,3,3,3,5,6,4,6,4,5,5,5]
d = {}
for x in set(l):
d[x] = l.count(x)
print d
问:Python实现对列表中重复元素进行去重的方法小结
- 答:1、运用新建字典的方式,去除重复的键
2、利用集合,直接将列表转化为集合,自动去重后转回列表。有一个问题,转换为集合的同时,数据无序了。
3、用列表的推导式