问题:
Python 如何判断列表内是否有重复数据并输出重复元素及对应的重复次数?
集合、list.count(i)几种方式都尝试过,可以判断重复元素,但是无法输出具体重复信息,应该是return输出结果后后续的代码不执行,该怎么办?
def list_dup():
ls = list(input('pls input a list:\n'))
times = {} #创建新字典存放各元素及对应的次数
results = {} #创建新字典存放重复元素及对应次数
for i in ls:
times[i] = ls.count(i)
for x,y in times.items():
if y > 1:
results[x] = y
return True
else:
print('no duplicated elements')
return False
>>> 问题点:如下代码块放到什么位置?或者如何操作可以打印重复元素的信息呢?
for result in results: # 打印重复元素信息
print('element "{}" appears {} times'.format(result,results[result]))
print(list_dup())