2024-04-19 02:25:12 发布
网友
如何在python中完成以下任务:
first = ['John', 'David', 'Sarah'] last = ['Smith', 'Jones'] combined = ['John Smith', 'John Jones', 'David Smith', 'David Jones', 'Sarah Smith', 'Sarah Jones']
有没有一种方法可以组合所有的排列?在
不确定是否有更优雅的解决方案,但这应该有效:
[x + " " + y for x in first for y in last]
^{}
import itertools combined = [f + ' ' + l for f, l in itertools.product(first, last)]
来自itertools的product就可以了。
itertools
product
product(first, last)
将返回一个包含first和last的所有可能组合的生成器。之后,您需要做的就是连接名字和姓氏。您可以在一个表达式中执行此操作:
first
last
也可以使用字符串连接来完成此操作:
不过,与解释器中的连接一样,这种方法速度较慢。由于这段代码是在C语言中执行的,因此建议始终使用"".join()方法
"".join()
不确定是否有更优雅的解决方案,但这应该有效:
[x + " " + y for x in first for y in last]
^{}
来自
itertools
的product
就可以了。将返回一个包含
^{pr2}$first
和last
的所有可能组合的生成器。之后,您需要做的就是连接名字和姓氏。您可以在一个表达式中执行此操作:也可以使用字符串连接来完成此操作:
^{3}$不过,与解释器中的连接一样,这种方法速度较慢。由于这段代码是在C语言中执行的,因此建议始终使用
"".join()
方法相关问题 更多 >
编程相关推荐