【问题标题】:Python get ALL possible combinations from listsPython 从列表中获取所有可能的组合
【发布时间】:2020-08-21 11:05:42
【问题描述】:

我知道有几个这样的问题,但它们并没有准确地描述我想要什么。我需要它来完成有关密码生成器的任务。我所知道的所有 itertools 模块的工作方式如下:

list1 = [1, 2] list2 = [3, 4]

它会打印出:(1, 3)(1, 4)(2, 3)(2, 4)

但我也需要(3, 1)(4, 1)(3, 2)(4, 2) ' 所以基本上(1, 0)(0, 1) 不应该被视为同一个组合。

提前致谢:)

【问题讨论】:

  • itertools.permutations 会做你想做的事吗? stackoverflow.com/questions/104420/…
  • 向我们展示您的尝试。
  • 还有一件事:我无法加入从 itertools.combinations 获得的元组。它们都是字符串,使用 .join 我得到一个空输出(它打印与生成密码一样多的空行),如果我使用 for 循环执行它,我会得到完全奇怪的输出,例如它打印字母的次数与密码已生成
  • @JonBetts 是的,这正是我想要的,谢谢!但我仍然无法将它们连接到字符串

标签: python unique combinations itertools


【解决方案1】:

根据您的需要,我已经构建了一个程序:

list1 = [1, 2]
list2 = [3, 4]
for i in list1:
    for j in list2:
        print((i,j),end=' ')
    for j in list2:
        print((j,i),end=" ")

【讨论】:

  • 谢谢,但是我对使用带有 [1, 2, 3, 4] 的列表的 itertools.permutations 会做同样的事情吗?
  • 我实际上忘记的是,我还需要 aa、bb、cc 等东西,但我目前不知道如何做到这么高效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 2023-02-14
相关资源
最近更新 更多