python-生成组合(itertools)?
有人能给我一个提示,让我走上正确的道路吗 我需要编写Python代码来提供所有组合,以解决以下问题: 我需要生成所有可能的字母组合。总有6个字母。但是,每个位置只能有某些字母,例如python-生成组合(itertools)?,python,pycharm,itertools,Python,Pycharm,Itertools,有人能给我一个提示,让我走上正确的道路吗 我需要编写Python代码来提供所有组合,以解决以下问题: 我需要生成所有可能的字母组合。总有6个字母。但是,每个位置只能有某些字母,例如 第一个字符只能是字母a或t(2种可能性) 第二个字符可以是a、t或c(3种可能性) 第三个字符可以是g或t(2种可能性) 第四个字符可以是a、t、c或g(4种可能性) 第五个字符可以是c、g或t(3种可能性) 第六个字符可以是b a或t(2种可能性) 我认为我应该使用pythonitertools,但我所看到的所
- 第一个字符只能是字母a或t(2种可能性)
- 第二个字符可以是a、t或c(3种可能性)
- 第三个字符可以是g或t(2种可能性)
- 第四个字符可以是a、t、c或g(4种可能性)
- 第五个字符可以是c、g或t(3种可能性)
- 第六个字符可以是b a或t(2种可能性)
import itertools
l = [
['a','t'],
['a','t','c'],
['g','t'],
['a','t','c','g'],
['c','g','t'],
['a','t']
]
for out in itertools.product(*l):
print out;
这将产出288个项目。一个小样本是:
('t', 't', 't', 'g', 'g', 't')
('t', 't', 't', 'g', 't', 'a')
('t', 't', 't', 'g', 't', 't')
('t', 'c', 'g', 'a', 'c', 'a')
('t', 'c', 'g', 'a', 'c', 't')
('t', 'c', 'g', 'a', 'g', 'a')
('t', 'c', 'g', 'a', 'g', 't')
('t', 'c', 'g', 'a', 't', 'a')
('t', 'c', 'g', 'a', 't', 't')
('t', 'c', 'g', 't', 'c', 'a')
('t', 'c', 'g', 't', 'c', 't')
('t', 'c', 'g', 't', 'g', 'a')
('t', 'c', 'g', 't', 'g', 't')
('t', 'c', 'g', 't', 't', 'a')
('t', 'c', 'g', 't', 't', 't')
('t', 'c', 'g', 'c', 'c', 'a')
('t', 'c', 'g', 'c', 'c', 't')
('t', 'c', 'g', 'c', 'g', 'a')
正如jonsharpe在评论中指出的,您还可以拥有一个有效字符串的列表(将上面的
l
变量替换为以下内容):
您想用于此任务吗
您需要为每个可能的值创建一个列表:
import itertools
l = [
['a','t'],
['a','t','c'],
['g','t'],
['a','t','c','g'],
['c','g','t'],
['a','t']
]
for out in itertools.product(*l):
print out;
这将产出288个项目。一个小样本是:
('t', 't', 't', 'g', 'g', 't')
('t', 't', 't', 'g', 't', 'a')
('t', 't', 't', 'g', 't', 't')
('t', 'c', 'g', 'a', 'c', 'a')
('t', 'c', 'g', 'a', 'c', 't')
('t', 'c', 'g', 'a', 'g', 'a')
('t', 'c', 'g', 'a', 'g', 't')
('t', 'c', 'g', 'a', 't', 'a')
('t', 'c', 'g', 'a', 't', 't')
('t', 'c', 'g', 't', 'c', 'a')
('t', 'c', 'g', 't', 'c', 't')
('t', 'c', 'g', 't', 'g', 'a')
('t', 'c', 'g', 't', 'g', 't')
('t', 'c', 'g', 't', 't', 'a')
('t', 'c', 'g', 't', 't', 't')
('t', 'c', 'g', 'c', 'c', 'a')
('t', 'c', 'g', 'c', 'c', 't')
('t', 'c', 'g', 'c', 'g', 'a')
正如jonsharpe在评论中指出的,您还可以拥有一个有效字符串的列表(将上面的
l
变量替换为以下内容):
您想用于此任务吗
您需要为每个可能的值创建一个列表:
import itertools
l = [
['a','t'],
['a','t','c'],
['g','t'],
['a','t','c','g'],
['c','g','t'],
['a','t']
]
for out in itertools.product(*l):
print out;
这将产出288个项目。一个小样本是:
('t', 't', 't', 'g', 'g', 't')
('t', 't', 't', 'g', 't', 'a')
('t', 't', 't', 'g', 't', 't')
('t', 'c', 'g', 'a', 'c', 'a')
('t', 'c', 'g', 'a', 'c', 't')
('t', 'c', 'g', 'a', 'g', 'a')
('t', 'c', 'g', 'a', 'g', 't')
('t', 'c', 'g', 'a', 't', 'a')
('t', 'c', 'g', 'a', 't', 't')
('t', 'c', 'g', 't', 'c', 'a')
('t', 'c', 'g', 't', 'c', 't')
('t', 'c', 'g', 't', 'g', 'a')
('t', 'c', 'g', 't', 'g', 't')
('t', 'c', 'g', 't', 't', 'a')
('t', 'c', 'g', 't', 't', 't')
('t', 'c', 'g', 'c', 'c', 'a')
('t', 'c', 'g', 'c', 'c', 't')
('t', 'c', 'g', 'c', 'g', 'a')
正如jonsharpe在评论中指出的,您还可以拥有一个有效字符串的列表(将上面的
l
变量替换为以下内容):
您想用于此任务吗
您需要为每个可能的值创建一个列表:
import itertools
l = [
['a','t'],
['a','t','c'],
['g','t'],
['a','t','c','g'],
['c','g','t'],
['a','t']
]
for out in itertools.product(*l):
print out;
这将产出288个项目。一个小样本是:
('t', 't', 't', 'g', 'g', 't')
('t', 't', 't', 'g', 't', 'a')
('t', 't', 't', 'g', 't', 't')
('t', 'c', 'g', 'a', 'c', 'a')
('t', 'c', 'g', 'a', 'c', 't')
('t', 'c', 'g', 'a', 'g', 'a')
('t', 'c', 'g', 'a', 'g', 't')
('t', 'c', 'g', 'a', 't', 'a')
('t', 'c', 'g', 'a', 't', 't')
('t', 'c', 'g', 't', 'c', 'a')
('t', 'c', 'g', 't', 'c', 't')
('t', 'c', 'g', 't', 'g', 'a')
('t', 'c', 'g', 't', 'g', 't')
('t', 'c', 'g', 't', 't', 'a')
('t', 'c', 'g', 't', 't', 't')
('t', 'c', 'g', 'c', 'c', 'a')
('t', 'c', 'g', 'c', 'c', 't')
('t', 'c', 'g', 'c', 'g', 'a')
正如jonsharpe在评论中指出的,您还可以拥有一个有效字符串的列表(将上面的
l
变量替换为以下内容):
itertools.product('at'、'atc'、'gt'、…)
?itertools.product('at'、'atc'、'gt'、…)
?itertools.product('at'、'atc'、'gt'、…)
?您可以有一个字符串列表['at'、'atc'、…]
。谢谢你,安迪。这正是我所需要的。@kye你可以有一个字符串列表['at','atc',…]
Super。谢谢你,安迪。这正是我所需要的。@kye你可以有一个字符串列表['at','atc',…]
Super。谢谢你,安迪。这正是我所需要的。@kye你可以有一个字符串列表['at','atc',…]
Super。谢谢你,安迪。这正是我需要的。@kye