【发布时间】:2022-06-10 22:25:01
【问题描述】:
该函数应检查两个单独的列表中是否有两个相同的值。如果值相同,则应将位置(=索引)保存在附加列表中。循环后返回带有索引的附加列表。
我知道,很简单,但我是初学者:)
谁能告诉我为什么我在第二个打印语句中的输出是错误的?
#Output of my code:
[0, 0, 2, 3, 4]
#Expected Output:
[0, 2, 3, 5]
我的代码如下所示,带有双循环:
def same_values(lst1, lst2):
lst3 = []
for index1 in range(0,len(lst1)):
for index2 in range(0,len(lst2)):
if lst1[index1] == lst2[index2]:
lst3.append(index1)
else:
continue
return lst3
print(same_values([5, 1, -10, 3, 3, 1], [5, 10, -10, 3, 5, 1]))
谁能给我一个提示?
【问题讨论】:
-
您能否说明为什么您期望得到结果?您的代码将第一个列表的 每个 项与第二个列表的 每个 项进行比较,并在匹配时将索引存储在第一个列表中。至少,这意味着输出 必须 以
0, 0, ...开头,因为第一个列表的索引 0 处的 5 在第二个列表中出现了两次。