我有一个列表: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)
这将为您提供两个列表:l1
和l2
分别包含重复和唯一元素。
与 @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)))
希望有帮助。