gpt4 book ai didi

python - 如何在 Python 中使用 for 循环查找数组中的重复元素?

转载 作者:IT老高 更新时间:2023-10-28 20:29:26 24 4
gpt4 key购买 nike

我有一个包含重复元素的列表:

 list_a=[1,2,3,5,6,7,5,2]

tmp=[]

for i in list_a:
if tmp.__contains__(i):
print i
else:
tmp.append(i)

我已经使用上面的代码在 list_a 中找到了重复的元素。我不想从列表中删除元素。

但我想在这里使用 for 循环。通常我们使用的 C/C++ 我猜是这样的:

 for (int i=0;i<=list_a.length;i++)
for (int j=i+1;j<=list_a.length;j++)
if (list_a[i]==list_a[j])
print list_a[i]

我们如何在 Python 中这样使用?

for i in list_a:
for j in list_a[1:]:
....

我尝试了上面的代码。但它得到了错误的解决方案。我不知道如何增加 j 的值。

最佳答案

仅供引用,在python 2.7+中,我们可以使用Counter

import collections

x=[1, 2, 3, 5, 6, 7, 5, 2]

>>> x
[1, 2, 3, 5, 6, 7, 5, 2]

>>> y=collections.Counter(x)
>>> y
Counter({2: 2, 5: 2, 1: 1, 3: 1, 6: 1, 7: 1})

唯一列表

>>> list(y)
[1, 2, 3, 5, 6, 7]

找到超过 1 次的项目

>>> [i for i in y if y[i]>1]
[2, 5]

仅找到一次的项目

>>> [i for i in y if y[i]==1]
[1, 3, 6, 7]

关于python - 如何在 Python 中使用 for 循环查找数组中的重复元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com