python - 打印所有重复的数字
问题描述
我的目的是让这段代码打印出所有重复的数字,然后说明每个数字重复了多少次。
但是,当我运行代码时,只打印第一个重复的数字,显示为 (2, 5)。由于 9 也是一个重复的数字,我希望同时打印 (2, 5) 和 (5, 9)。需要修改哪些代码?
解决方案
一旦你找到一个大于 1 的值,你就会返回。相反,将所有内容映射到 x 和 count 的元组(我颠倒了它们)。并在事后验证计数。就像是
i = [5,5,7,9,9,9,9,9]
def num_list(i):
return [(x,i.count(x)) for x in set(i)]
for tv in num_list(i):
if tv[1] > 1:
print(tv)
我得到
(9, 5)
(5, 2)
因为有 5 个 9 和 2 个 5。