Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用元组和列表压缩_Python_String_List_Zip_Tuples - Fatal编程技术网

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
与函数的功能完全相同,而且速度更快。好的,我明白了……谢谢你……这只是为了修复操作码……没有考虑优化