【发布时间】:2021-11-09 22:10:38
【问题描述】:
尝试使用 zip() 将单词组合在一起,但想知道为什么下面的代码会导致不同的结果?
1)
def concatenate(L1,L2,connector):
for (word1,word2) in zip(L1,L2):
return [word1+connector+word2]
concatenate(['A','B'],['a','b'],'-')
期待['A-a','B-b'],但我得到了:['A-a'] 仅
2)
def concatenate(L1,L2,connector):
return [word1+connector+word2 for (word1,word2) in zip(L1,L2)]
我得到了:['A-a', 'B-b']
【问题讨论】:
-
您将返回第一个版本中循环的第一次迭代。
-
return结束函数,因此它永远不会完成循环。 -
欢迎来到 Stack Overflow!请使用tour 并阅读How to Ask。请edit这个问题有一个更具描述性的标题,例如,'为什么“返回”会停止循环?'
标签: python python-3.x