我检查重复的代码不起作用

时间:2017-07-12 02:46:11

标签: python-3.x

Hpwdy,我正在做一个代码,问题告诉我写一个函数sameSet(L1,L2)来检查两个列表L1和L2是否有 某些顺序中的相同元素,忽略重复。例如,两个列表

L1 = [1,4,9,16,9,7,4,9,11]

L2 = [11,11,7,9,16,4,1]

将被视为相同。您可能需要一个或多个辅助函数。

我已经使用了自己的代码,但它一直给我语法错误。有人可以帮我修改我的代码吗?谢谢。这是:

def sameSet(list1,list2):
    list1 = sorted(set(list1))
    list2 = sorted(set(list2))
if list1.len() == list2.len():
    for i in list1.len():
        if(list1[i] != list2[i]:
return false;
return true
    else
return false

1 个答案:

答案 0 :(得分:0)

您的代码有多处错误。

  1. 缩进错误
  2. 语法错误:使用len(list1)代替list1.len(),使用range()函数而不是整数对象进行迭代。

    def sameSet(list1,list2):
        list1 = sorted(set(list1))
        list2 = sorted(set(list2))
        if len(list1) == len(list2):
            for i in range(len(list1)):
                if(list1[i] != list2[i]):
                   return False
            return True
        else:
            return False
    L1 = [1, 4, 9, 16, 9, 7, 4, 9, 11]
    L2 = [11, 11, 7, 9, 16, 4, 1]
    print (sameSet(L1,L2))
    
  3. 另外,如何将它们转换成集并直接比较它们?

    return set(list1)==set(list2)