如何检查列表在python中是否有重复变量?
我试图生成一个包含7个值的随机列表,并希望检查列表中是否有重复的数字,然后从列表中删除这些数字。我目前有:如何检查列表在python中是否有重复变量?,python,list,random,Python,List,Random,我试图生成一个包含7个值的随机列表,并希望检查列表中是否有重复的数字,然后从列表中删除这些数字。我目前有: import random acard1 = random.randrange(0,13,1) acard2 = random.randrange(0,13,1) acard3 = random.randrange(0,13,1) acard4 = random.randrange(0,13,1) acard5 = random.randrange(0,13,1) acard6 = ran
import random
acard1 = random.randrange(0,13,1)
acard2 = random.randrange(0,13,1)
acard3 = random.randrange(0,13,1)
acard4 = random.randrange(0,13,1)
acard5 = random.randrange(0,13,1)
acard6 = random.randrange(0,13,1)
acard7 = random.randrange(0,13,1)
myhand=[acard1, acard2, acard3, acard4, acard5, acard6, acard7]
print(myhand)
如何检查是否存在重复值,然后删除这些值
例如,如果我的列表是[11,7,11,12,9,9,10],
如何让我的程序识别11和9是重复的,并将列表转换为[7、12、10]?下面是一个使用集合的简单技巧。计数器:
任何使用l.countx进行列表理解的答案肯定会比这个慢 是否可以创建一个列表,通过检查是否使用索引号来保存唯一的条目?使索引1包含数字1,索引2包含数字2,依此类推
或者,您可以搜索整个列表,以检查11是否已经存在。根据列表的语言和类型,您可以删除特定索引处的元素,只需像我上面所描述的那样附加到一个新的唯一列表。set将不起作用。数字仍将有一个副本。[值对应值,计数器值中的计数。如果计数=1,可能是吗?不过,它不一定会保持输入顺序。计算每个数字的存在情况,如果有多个数字,则将其丢弃。[k代表k,c中的v.items如果v==1]@wwii不保证相同的顺序,我相信计数器对象不会保持顺序。啊,我没有看到保持顺序的规范。@cᴏʟᴅsᴘᴇᴇᴅ : 这是一个无序的集合[…]
In [451]: from collections import Counter
In [453]: c = Counter(l)
In [454]: [x for x in l if c[x] == 1]
Out[454]: [7, 12, 10]