【发布时间】:2021-07-24 00:59:02
【问题描述】:
我有两个列表。我希望能够使用 for 循环进行迭代,并希望根据匹配的元素对元素进行一些操作。我无法弄清楚这里出了什么问题,
lst1 = ["a1", "b1", "c1", "d1", "e1", "f1", "g1"]
lst2 = ["c1", "d1", "e1"]
for l in lst1:
for m in lst2:
if l == m:
v = l + "__match_found"
else:
v = l + "__no_match"
print(v)
我得到以下输出:
a1__no_match
b1__no_match
c1__no_match
d1__no_match
e1__match_found
f1__no_match
g1__no_match
我希望每个元素应该只打印一次,或者以 match 结尾,或者以 no_match 结尾。
【问题讨论】:
-
你的预期输出是什么?
-
看看 Python 中的 for..else 循环。您可以在找到匹配项时执行 break 语句。如果没有遇到匹配(中断),则执行 else 子句以打印不匹配。