在Python中创建四个列表的所有可能组合的最高效方法是什么?
我有四个不同的列表,分别是 headers
、descriptions
、short_descriptions
和 misc
。我想把这些列表组合起来,打印出所有可能的组合方式:
header\n
description\n
short_description\n
misc
比如说,如果我只用 headers
和 descriptions
,而不使用 short_descriptions
和 misc
,这样做是为了简单明了。
headers = ['Hello there', 'Hi there!']
description = ['I like pie', 'Ho ho ho']
...
我希望打印出来的格式是这样的:
Hello there
I like pie
...
Hello there
Ho ho ho
...
Hi there!
I like pie
...
Hi there!
Ho ho ho
...
你觉得最好的、最简洁的、最有效的方法是什么呢?难道只有用 for
循环嵌套才能实现吗?
5 个回答
3
可以用生成器表达式来实现这个功能:
for h, d in ((h,d) for h in headers for d in description):
print h
print d
4
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种情况可能是因为我们没有正确理解某些概念或者用法。为了帮助大家更好地解决这些问题,很多人会在网上提问,比如在StackOverflow这个网站上。
在这个网站上,用户可以描述他们遇到的具体问题,其他有经验的人会给出建议和解决方案。这样,大家可以互相学习,提升自己的编程技能。
总之,StackOverflow是一个很好的资源,适合所有想要提高编程能力的人,无论你是新手还是有经验的开发者。
import itertools
headers = ['Hello there', 'Hi there!']
description = ['I like pie', 'Ho ho ho']
for p in itertools.product(headers,description):
print('\n'.join(p)+'\n')