鱼C论坛

 找回密码
 立即注册
查看: 2086|回复: 6

[已解决]求大佬帮帮忙,排列组合的问题

[复制链接]
发表于 2021-7-9 16:52:50 | 显示全部楼层 |阅读模式
30鱼币
  1. a=[['A','T'],['A','T','C','G'],['A','T'],['C','A','T']]
复制代码

假设上面有四个位置,第一个位置的字母从a[0]里面选,第二个位置的字母从a[1],第三个位置的字母从a[2]选 以此类推,总共有四个位置
请问有怎么写出所有的排列组合。
就比如说应该总共有48种组合,即2*4*2*3种组合。
AAAC这样子的
最佳答案
2021-7-9 16:52:51


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

  1. from itertools import product

  2. a=[['A','T'], ['A','T','C','G'], ['A','T'], ['C','A','T']]
  3. result = product(*a)
  4. for i in result:
  5.     print(i)
复制代码

最佳答案

查看完整内容

可以用 itertools 模块 的 product 函数进行排列组合,参考代码:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-9 16:52:51 | 显示全部楼层    本楼为最佳答案   


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

  1. from itertools import product

  2. a=[['A','T'], ['A','T','C','G'], ['A','T'], ['C','A','T']]
  3. result = product(*a)
  4. for i in result:
  5.     print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-9 16:59:52 | 显示全部楼层
  1. for i in a[0]:
  2.     for j in a[1]:
  3.         for k in a[2]:
  4.             for x in a[3]:
  5.                 print([i,j,k,x])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-9 17:00:24 | 显示全部楼层
套娃就硬套
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-9 17:01:35 | 显示全部楼层

不行。。我不止四个。。这是让我..。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-9 19:05:34 | 显示全部楼层
Twilight6 发表于 2021-7-9 16:52
可以用 itertools 模块 的 product 函数进行排列组合,参考代码:

product里面的星号是做啥的呀 大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-9 20:22:44 | 显示全部楼层
wtfitis 发表于 2021-7-9 19:05
product里面的星号是做啥的呀 大佬


解包,将列表中的参数全部取出,这里就是相当于:
  1. result = product(['A','T'], ['A','T','C','G'], ['A','T'], ['C','A','T'])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 23:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表