这是我用来比较两个列表并打印输出的代码,因为lis1中的1与list2中的位置2匹配,依此类推。您能告诉我如何使用嵌套for循环和break and continue语句吗
。还有任何可行的解决方案
def Iter(l1,l2):
for i in range(len(l1)):
for j in range(len(l2)):
if l1[i]==l2[j]:
print("matched at %d position"%l2[j])
break
l1=[1,2,3,4,5]
l2=[3,4,1,2,5]
Iter(l1,l2)
Tags:
如果两个数组的长度相等,则只需使用一个循环
输出:
你的方法没有时间效率,是二次时间。如果你考虑到线性空间,你可以在线性时间内完成。创建
list2
中元素到其索引的映射:如果我正确理解了你的问题,你只需要找到第一个列表中每个项目的位置,在第二个列表中。 您可以只使用一个循环在第一个列表中进行迭代。对于每个元素,您可以检查该元素是否存在于第二个循环中,如果存在,请报告索引:
“try”和“except”部分只是为了处理当您试图对l1中存在但不是l2的元素使用l2.index()时会出现的错误
相关问题 更多 >
编程相关推荐