Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的python代码不起作用……我想知道输入的列表是否包含重复项_Python - Fatal编程技术网

我的python代码不起作用……我想知道输入的列表是否包含重复项

我的python代码不起作用……我想知道输入的列表是否包含重复项,python,Python,我想使用此函数查找列表中的重复项,但此代码无效: p = "enter a list\n" t = raw_input(p) def has_duplicate(t): o = sorted(t) i = 0 while i < len(o): if o[i] == o[i + 1]: print "the list has duplicates" elif o[i] != o[i+1]:

我想使用此函数查找列表中的重复项,但此代码无效:

p = "enter a list\n"
t = raw_input(p)
def has_duplicate(t):
   o = sorted(t)
   i = 0
   while i < len(o):
       if o[i] == o[i + 1]: 
           print "the list has duplicates"
       elif o[i] != o[i+1]:        
           i += 1
       if i >= len(o):
         print "the list has no duplicate"
p=“输入列表\n”
t=原始输入(p)
def具有重复(t):
o=已排序(t)
i=0
而i=len(o):
打印“列表没有重复项”

它给了我一个错误,说
没有定义重复项。

正如@mgilson评论的那样,你的问题是调用函数不正确(
有重复项
vs
有重复项

最直接的方法是使用
set
并比较
len

def has_duplicates(t):
    return len(set(t)) != len(t)

如果你拿一个iterable并将它包装在一个
集合中
,你将只得到唯一的项目。如果集合的长度与原始iterable相同,则没有重复项。如果长度不同(将始终等于或小于),则在转换为
类型时会删除重复项。

首先要做的是
列出\u name.sort()
。 另一种查找重复项的简单方法是

len(your_list)!=len(set(your_list))

您可能正在调用函数
has_duplicates
,但您已经定义了
has_duplicate
函数


尝试调用
has\u duplicate

看起来函数名是
has\u duplicate
(单数),而不是
has\u duplicates
(复数)您使用了错误的函数名use
has\u duplicate(t)
,这将解决您的问题,无论何时出现错误,请尝试读出错误并尝试自行解决错误,如果错误不常见且非常严重,请发布问题。