Python。重复元素判定。编写一个函数,接受列表作为参数

编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序.编写了程序但是运行不了,希望有大神帮我看看,刚学,实在是没弄懂。
十分感谢了!!

def fun(lst):
for i in range(N):
for b in range(i+1,N):
if lst[i] == lst[b]:
return False
if i == N-1 and b ==N-1
return True

N = int(input("请输入数字:"))
lst = [input() for i in range(N)]

print(fun(lst))

代码如下:

def func1(num_list):
if len(num_list) != len(set(num_list)):
return True
else:
return False
if __name__ == '__main__':
num_list = [[1, 2, 3, 4], [6, 7, 8], [4, 5, 6, 6, 6]]
for one_list in num_list:
print(func1(one_list))

运行结果:

扩展资料

python对列表去重的几种方式:

1、直观方法,先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重。总结:这样可以做出来,但是过程不够简单。但是此方法保证了列表的顺序性。

2、利用set的自动去重功能,将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。缺点是:使用set方法无法保证去重后的顺序。

参考资料:python官网-Doc语法文档

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-24
def func(ls):
for i in ls:
if ls.count(i)>1:
return True
ls = list(eval(input()))
print(func(ls))
第2个回答  2018-04-22

追问

他不让利用集合的无重复性,因为这又是另外一道题

追答

本回答被提问者采纳
第3个回答  2018-05-28

就是你的程序中N是没有定义的,我的这个可以看一下,初学者懂得不太多,仅供参考噢

相似回答