首页 > 解决方案 > 打印所有重复的数字

问题描述

我的目的是让这段代码打印出所有重复的数字,然后说明每个数字重复了多少次。

但是,当我运行代码时,只打印第一个重复的数字,显示为 (2, 5)。由于 9 也是一个重复的数字,我希望同时打印 (2, 5) 和 (5, 9)。需要修改哪些代码?

标签: pythonlist

解决方案


一旦你找到一个大于 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。


推荐阅读