Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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_List - Fatal编程技术网

Python 通过添加列表元素创建新列表

Python 通过添加列表元素创建新列表,python,list,Python,List,假设我有以下两个列表: a = ['hello ', 'goodbye '] b = ['tom', 'dick', 'harry'] 我想创建两个新的列表,输出如下: ['hello tom', 'hello dick', 'hello harry'] ['goodbye tom', 'goodbye dick', 'goodbye harry'] 做这件事的最有可能的方式是什么?我猜有比嵌套循环更优雅、更高效的方法,但考虑到a或b的大小可能不同,这需要字典吗 你可以在一个 将生成列表的列

假设我有以下两个列表:

a = ['hello ', 'goodbye ']
b = ['tom', 'dick', 'harry']
我想创建两个新的列表,输出如下:

['hello tom', 'hello dick', 'hello harry']
['goodbye tom', 'goodbye dick', 'goodbye harry']

做这件事的最有可能的方式是什么?我猜有比嵌套循环更优雅、更高效的方法,但考虑到a或b的大小可能不同,这需要字典吗

你可以在一个

将生成列表的列表:


您可以用以下方式生产:

将生成列表的列表:


是否需要此文件的格式部分?我对回答中的问候语和姓名部分有点困惑——这些是python中的特定关键字吗?我希望保持这一点相当普遍,因为问题可能并不总是这样variety@laszlopanaflex:str.format()生成字符串的
“问候语名称”
模式
name
greeting
只是变量名。@laszlopanaflex:我为您添加了一个到Python教程相关部分的链接;你可能还想阅读该部分更广泛的内容。非常感谢。有没有更好的方法来理解这里的操作顺序?也就是说,在“a中的问候语”之前的“b中的姓名”有“(问候语,姓名)”。显然,顺序/模式会影响输出,但直觉对我来说并不清楚,即使在阅读了您添加的链接之后…@laszlopanaflex:模式是
[iterable中的目标表达式]
。iterable中目标的
部分形成一个循环,并且对于每个迭代
表达式
执行以生成列表中的下一个元素。是否需要此部分的格式化?我对回答中的问候语和姓名部分有点困惑——这些是python中的特定关键字吗?我希望保持这一点相当普遍,因为问题可能并不总是这样variety@laszlopanaflex:str.format()
生成字符串的
“问候语名称”
模式
name
greeting
只是变量名。@laszlopanaflex:我为您添加了一个到Python教程相关部分的链接;你可能还想阅读该部分更广泛的内容。非常感谢。有没有更好的方法来理解这里的操作顺序?也就是说,在“a中的问候语”之前的“b中的姓名”有“(问候语,姓名)”。显然,顺序/模式会影响输出,但直觉对我来说并不清楚,即使在阅读了您添加的链接之后…@laszlopanaflex:模式是
[iterable中的目标表达式]
。iterable部分中的
for target形成一个循环,对于每个迭代
表达式
执行以生成列表中的下一个元素。
[['{} {}'.format(greeting, name) for name in b] for greeting in a]
>>> a = ['hello ', 'goodbye ']
>>> b = ['tom', 'dick', 'harry']
>>> [['{} {}'.format(greeting, name) for name in b] for greeting in a]
[['hello  tom', 'hello  dick', 'hello  harry'], ['goodbye  tom', 'goodbye  dick', 'goodbye  harry']]