因此,我需要比较python中两个列表的元素,如果它们有15个以上的共同元素,则应该显示一条消息。我尝试使用for循环遍历这些列表,并比较该列表中的每个元素,如果它们相等,我制作一个计数器来计算我的正确答案,如果它们大于15,则显示消息“youpassed”.但它根本不起作用,它总是说我无论如何都通过了
代码如下:
for j in answerList:
for k in answers:
if(k==j):
nr+=1
if(nr>15):
print("You passed")
else:
print("You failed")
Tags:
通过考虑
len(answers) == len(answerList)
,您可以zip()
两个列表并在一行中执行比较仅供参考:在您的情况下,时间复杂度为
O(len^2)
,在本例中,时间复杂度为O(n)
因为对于
answerList
,会重新迭代answer
,所以应该使用zip()
或
nr=sum(k==j for j,k in zip(answerList,answers))
相关问题 更多 >
编程相关推荐