Python中获取非重复项表单列表

8e2ybdfx  于 2023-07-01  发布在  Python
关注(0)|答案(2)|浏览(105)
list1=[1,1,2,3,3]

从这个列表中,我们必须打印唯一的数字2。在Python中如何编写代码 *

lt=[1,1,2,3,3]
new_lt=[]
for i in  lt:
    if i not in new_lt:
        new_lt.append(i)
print(new_lt)

上述代码输出为:

[1,2,3]

所以,我想得到精确的输出2
先谢了

js4nwp54

js4nwp541#

您当前的代码正在获取在lt中至少出现一次的所有值。你应该尝试的几种方法:

  • 跟踪列表中每个数字的计数。然后,您可以使用此计数来确定哪个元素不重复。
  • 生成在列表中出现多次的元素列表。然后将其与您的初始列表进行比较。在初始列表中而不在新列表中的任何元素只出现一次。
mzmfm0qo

mzmfm0qo2#

可以使用collections Counter计算所有元素的频率

from collections import Counter as c
new_lt = []
list1 = [1,1,2,3,3,4,4,5,6,7,7]
for key, value in c(list1).items():
    if value==1:  # elements whose are non repeating
        new_lt.append(key)

print(new_lt)
#[2, 5, 6]

使用列表复合

[key for key, value in c(list1).items() if value==1]
#[2, 5, 6]

相关问题