【发布时间】:2017-01-13 21:13:46
【问题描述】:
在 Python 中,我试图将元素的所有不同组合添加到 N 列表的列表中,其中 N 是一个变量。具体来说,我正在处理一个包含列表[1, 2, 3, 4, 5, 6] 的N 个副本的列表。
让我们假设N = 3。我想循环浏览第一个列表,添加:
6 + 6 + 6
5 + 6 + 6
...
1 + 6 + 6`
然后将第二个人增加一次并开始添加:
6 + 5 + 6
5 + 5 + 6
...
1 + 1 + 1 # ultimately to
当然,我增加了第三个人。这个具体的例子可以用 3 个嵌套的 for 循环来完成,但当然,我需要改变循环的数量。我在网上和这个论坛上搜索答案,并不太能掌握我应该做什么。人们一直在说要使用递归函数,但直到我查到这个,我才听说过。所以有点难以掌握。
【问题讨论】:
-
你尝试了什么,你能告诉我们你的尝试吗?也许我们可以帮助您修复它们。
-
SO 既不是代码编写也不是教程服务。评论How to Ask。
-
使用
itertools.product。list(map(sum, product([1,2,3,4,5,6], repeat=n))) -
以下回复有所帮助。我还没有真正编写过尝试,因为我想不出/找到一个想法。我到处找,找不到任何我能理解的东西,包括 Tadhg McDonald-Jensen 发布的链接。如果有人觉得我问了一个不好的问题或滥用了该网站,我深表歉意,但我不知道在哪里可以找到我的问题的答案,我想我会自己问。感谢大家的帮助。