Python 为什么我的程序多次返回相同的排列?
我有一个简单的代码,我用它来尝试获得4个核苷酸碱基的所有组合,但只作为3个碱基的集合,因为3个核苷酸组成一个密码子。我基本上需要生成所有可能的排列,它们可以由4个碱基a、c、t和g组成,并将它们分成三块,然而,起初程序似乎工作正常,然后当我看到结果时,我意识到它重复排列了5次 我只需要一次所有的排列,我不知道如何更改我的代码来获得这个结果。我对Python也很陌生,所以我非常希望在任何答案中使用简单的谈话和行话,谢谢 代码如下:Python 为什么我的程序多次返回相同的排列?,python,duplicates,permutation,Python,Duplicates,Permutation,我有一个简单的代码,我用它来尝试获得4个核苷酸碱基的所有组合,但只作为3个碱基的集合,因为3个核苷酸组成一个密码子。我基本上需要生成所有可能的排列,它们可以由4个碱基a、c、t和g组成,并将它们分成三块,然而,起初程序似乎工作正常,然后当我看到结果时,我意识到它重复排列了5次 我只需要一次所有的排列,我不知道如何更改我的代码来获得这个结果。我对Python也很陌生,所以我非常希望在任何答案中使用简单的谈话和行话,谢谢 代码如下: import itertools bases = ['a','c
import itertools
bases = ['a','c','t','g']
for L in range(0, len(bases)+1):
for subset in itertools.permutations(bases, 3):
print(subset)
我得到的结果看起来不错,但我不想重复5次:
('a', 'c', 't')
('a', 'c', 'g')
('a', 't', 'c').....
你让它做五次,第一次是在0,lenbase+1:line范围内 如果没有这一点,它可以正常工作
import itertools
bases = ['a','c','t','g']
for subset in itertools.permutations(bases, 3):
print(subset)
范围为0,lenbase+1的L的线循环5次,给出重复排列
您可以删除该行:
import itertools
bases = ['a','c','t','g']
for subset in itertools.permutations(bases, 3):
print(subset)