获取父母列表中唯一和重复元素的2个列表



我有一个列表:mylist = [1,1,1,2,3,4,4,4,5,5,6,6,7,8]:

我想获得2个唯一和重复元素的列表:重复元素的列表:[1,4,5,6]唯一元素的列表:[2,3,7,8]

帮助您非常感谢。

from collections import Counter
counts = Counter(mylist)
l1 = []
l2 = []
for key in counts:
    if counts[key] > 1:
        l1.append(key)
    else:
        l2.append(key)

这将为您提供两个列表:l1l2分别包含重复和唯一元素。

与 @jasonstein的答案几乎相同,只需提供基本函数 list(set(mylist))

mylist=[1,1,2,3,4,4,5,5,6,6,7,8]
L1=[]
L2=[]
for i in list(set(mylist)):
    if mylist.count(i)>1:
        L1.append(i)
    else:
        L2.append(i)

我以这种方式弄清楚:

mylist=[1,1,2,3,4,4,5,5,6,6,7,8]
#case your list is not ordened:
mylist.sort()
duplicated=[]
unique=[]
for i in range(len(mylist)-1):
  if i<len(mylist):
    #comparing the value with the next or the previous in the list:
    if (mylist[i]==mylist[i+1]) or (mylist[i]==mylist[i-1]):
      #if duplicated, add to it's list
      duplicated.append(mylist[i])
    else:
      #if unique, add to it's list
      unique.append(mylist[i])
print("Duplicated: ",list(set(duplicated)))
print("Unique: ",list(set(unique)))

希望有帮助。

最新更新