Python 使用元组和列表压缩
我需要编写一个代码,将两个字符串的字符作为元组列表返回。当其中一个字符串的字符数不足时,代码应该停止。我知道这是一个简单的代码,但我无法工作,因为它给我的不仅仅是第一个字符 应该是这样的:Python 使用元组和列表压缩,python,string,list,zip,tuples,Python,String,List,Zip,Tuples,我需要编写一个代码,将两个字符串的字符作为元组列表返回。当其中一个字符串的字符数不足时,代码应该停止。我知道这是一个简单的代码,但我无法工作,因为它给我的不仅仅是第一个字符 应该是这样的: >>> twoStrings('Good', 'Morning') [('G', 'M'), ('o', 'o'), ('o', 'r'),('d', 'n')] 到目前为止,这是我的代码 def twoStrings(string1,string2): for i in zip
>>> twoStrings('Good', 'Morning')
[('G', 'M'), ('o', 'o'), ('o', 'r'),('d', 'n')]
到目前为止,这是我的代码
def twoStrings(string1,string2):
for i in zip(string1,string2):
return [i]
但如果我尝试运行它,我只会得到以下结果:
[('G', 'M')]
您能帮助我吗?这可能很简单,只需在两个给定字符串上使用即可
print zip('Good', 'Morning')
>>> [('G', 'M'), ('o', 'o'), ('o', 'r'), ('d', 'n')]
要更正代码,请执行以下修复:
def twoStrings(string1,string2):
return zip(string1,string2)
您返回得太早了。您正在描述
zip
函数。直接使用它。你是否意识到zip
已经返回了你想要的列表?这里不需要任何循环。请,任何投票被否决的人都应该留下评论作为他投票被否决的理由!不是我,但你正在解包zip
返回的列表,只是为了重新打包twoStrings=zip
与函数的功能完全相同,而且速度更快。好的,我明白了……谢谢你……这只是为了修复操作码……没有考虑优化