如何在没有Python内置函数的列表中找到副本?

时间:2015-10-25 21:03:38

标签: python duplicates

我试图在不使用内置函数的情况下查找列表中是否存在重复项。到目前为止,我有类似的东西,但它似乎没有工作。有人可以帮忙吗?指点一下?改进?我很感激。 (Python版本2.7.10)

def DupSearch(list):
counter=0
for i in range(len(list)):
    if list[i]==list[0]:
        for j in range(len(list)):
            if list[j]!=list[j+i]:
                print "No duplicated"
            else:
                counter=counter+1
                if counter == len(list):
                    print "Duplicate found"

DupSearch([1,2,3,4,5,3])

2 个答案:

答案 0 :(得分:1)

这样的东西?

def DupSearch(list):
    for i in range(len(list)):
        for j in range(i+1, len(list)):
            if list[i]==list[j]:
                print "Duplicate found"
                return
    print "No duplicated"

答案 1 :(得分:0)

您可以使用字典存储单个元素的频率,

lst=[1,3,5,7,6]
dic={}

for i in lst:
    if i in dic.keys():
        dic[i]+=1
    else:
        dic[i]=1


duplicate= False

for key,value in dic.iteritems():
    if value>1:
        duplicate = True
        print "List has duplicate element"
        break

if not duplicate:
    print "No duplicate element"