python:识别列表是否没有重复的数字

时间:2017-09-08 15:07:11

标签: python

我目前正在开发一款使用列表的游戏,并根据列表中是否存在重复项(基本上是基于文本的游戏)给用户提供选择,但是我似乎无法编写可以识别是否没有重复的内容的代码循环并检查每个数字的计数是否大于1.我真的只需要检查列表是否包含重复项的内容,以便我可以编写程序的其余部分。

所以psuedocode看起来像这样

数字= [1,3,5,6]

检查重复项列表

如果没有重复:

do x

2 个答案:

答案 0 :(得分:2)

使用已排序的设置功能

if sorted(set(y)) == sorted(y):
    pass

设置从给定列表中删除重复项,以便检查列表是否有重复项。对其可选项进行了排序,但如果您为用户提供了以其他顺序输入数字的选项,那么这将非常有用。

set() sorted()

如果您不需要分类使用,则更简单的解决方案:

len(y) != len(set(y))

它更快,因为你不需要在两个列表上使用排序。它返回真假。

Check for duplicates in a flat list

答案 1 :(得分:0)

您可以检查列表集的长度,并与常规长度进行比较:

l = [1, 3, 32, 4]
if len(set(l)) == len(l):
   pass