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
答案 0 :(得分:0)
您的代码有多处错误。
语法错误:使用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))
另外,如何将它们转换成集并直接比较它们?
return set(list1)==set(list2)