python中如何取相同的数字

python中如何取相同的数字

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Python中找出列表中重复的数字?

我有一个数字列表,想知道如何在Python中找到所有重复出现的数字,该怎么操作?

A

使用集合和计数方法找出重复数字

可以通过collections模块中的Counter类来统计列表中每个数字出现的次数,然后筛选出出现次数大于1的数字。例如:

from collections import Counter
numbers = [1, 2, 2, 3, 4, 4, 4]
cnt = Counter(numbers)
duplicates = [num for num, count in cnt.items() if count > 1]
print(duplicates)  # 输出: [2, 4]
Q
如何用Python筛选出列表中重复的数字而不改变顺序?

在Python中,我想找出列表中出现多次的数字,并保持它们在原列表中的顺序,应该怎么写代码?

A

用计数结合遍历来保持顺序筛选重复数字

可以先用Counter统计数字出现次数,然后遍历列表,将出现次数大于1且未存储过的数字添加到结果中。
示例:

from collections import Counter
numbers = [3, 1, 2, 2, 3, 3, 4]
cnt = Counter(numbers)
duplicates = []
seen = set()
for num in numbers:
    if cnt[num] > 1 and num not in seen:
        duplicates.append(num)
        seen.add(num)
print(duplicates)  # 输出: [3, 2]
Q
在Python中如何找出两个列表中的相同数字?

我有两个数字列表,想找出它们共有的数字,如何用Python实现这一功能?

A

使用集合交集操作找列表中相同的数字

可以将两个列表转换为集合,然后取交集,得到两个列表的共同数字。例如:

list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
common = list(set(list1) & set(list2))
print(common)  # 输出: [3, 4]