wtfitis 发表于 2021-7-9 16:52:50

求大佬帮帮忙,排列组合的问题

a=[['A','T'],['A','T','C','G'],['A','T'],['C','A','T']]
假设上面有四个位置,第一个位置的字母从a里面选,第二个位置的字母从a,第三个位置的字母从a选 以此类推,总共有四个位置
请问有怎么写出所有的排列组合。
就比如说应该总共有48种组合,即2*4*2*3种组合。
AAAC这样子的

Twilight6 发表于 2021-7-9 16:52:51



可以用 itertools 模块 的 product 函数进行排列组合,参考代码:

from itertools import product

a=[['A','T'], ['A','T','C','G'], ['A','T'], ['C','A','T']]
result = product(*a)
for i in result:
    print(i)

灰晨 发表于 2021-7-9 16:59:52

for i in a:
    for j in a:
      for k in a:
            for x in a:
                print()

灰晨 发表于 2021-7-9 17:00:24

套娃就硬套

wtfitis 发表于 2021-7-9 17:01:35

灰晨 发表于 2021-7-9 17:00
套娃就硬套

不行。。我不止四个。。这是让我..。。

wtfitis 发表于 2021-7-9 19:05:34

Twilight6 发表于 2021-7-9 16:52
可以用 itertools 模块 的 product 函数进行排列组合,参考代码:

product里面的星号是做啥的呀 大佬

Twilight6 发表于 2021-7-9 20:22:44

wtfitis 发表于 2021-7-9 19:05
product里面的星号是做啥的呀 大佬


解包,将列表中的参数全部取出,这里就是相当于:
result = product(['A','T'], ['A','T','C','G'], ['A','T'], ['C','A','T'])
页: [1]
查看完整版本: 求大佬帮帮忙,排列组合的问题