要在python列表中查找重复项,为什么这个逻辑不起作用?

2024-04-20 14:44:59 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然我知道在列表中查找重复项的最佳和最简单的方法是使用收款台,我想知道下面的逻辑在哪里失败。你知道吗

def uniquenumbercheck(listarg):
    for i in range(2,len(listarg)):
        for j in range(1,i-1):
            if(listarg[i]==listarg[j]):
                print("duplicate value appeared : "+str(listarg[i]))
                return
    print("all entered values are unique. ")

程序正在运行,但未能显示正确的输出。可以没有弄清楚错了。因为输入1,1,0整数的例子要列出,说明它们是唯一的。你知道吗


Tags: 方法in列表forlenifvaluedef
2条回答

我假设您正在列表中搜索重复项:

myl = [1, 2, 3, 5, 6, 1, 2]

for i in myl:
    if myl.count(i) > 1:
        print i

打印副本的地方。你知道吗

关闭一个错误。在Python中,索引从0开始,而不是从1开始。所以

for i in range(2, len(listarg)):
    for j in range(1, i - 1):

应该是:

for i in range(1, len(listarg)):
    for j in range(0, i):

另外,range(1, len(listarg))也可以写成range(len(listarg))。你知道吗

相关问题 更多 >