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']]