我试图找到一种方法来从列表中分离重复和唯一的数字。我被告知要使用字典进行探索。我可以将值放入字典中以消除重复,但我有点迷路了。
我也永远无法得到完全相同的输出(它看起来像一个循环)。
输入:
2
16
25
2
49
75
49
49
输出:
Non-duplicates:
16
25
75
Duplicates:
2
49
# duplicate_values = []
# unique_values = []
for x in lst:
if lst.count(x) == 1:
unique_values.append(x)
elif x not in duplicate_values:
duplicate_values.append(x)
2条答案
按热度按时间2sbarzqh1#
创建一个空字典。
迭代输入列表中的每个数字。
如果该数字在字典中不存在,则将其添加值1。否则,如果它已经存在,则将其值添加1。
唯一的数字将是字典中值正好为1的数字。所有其他数字都是重复的。
qyyhg6bp2#
删除重复项的最简单方法是'set()'方法
你的代码有不正确的逻辑,你正在计算值并比较它是否等于1,但由于有多个值,它将进入下一步,你的else,在这里它不是添加重复的值。
输出:
解决方案:
输出
Example set
列表中无重复项:
输出
对dict进行零重复:
输出