如何按行获取列表中 str 项的所有组合 python
how to get all combinations of str items of a list row-wise python
我有一个 fasta 文件如下:
>seq1
AAAAAAAA
>seq2
TTTTTTTT
>seq3
CCCCCCCC
>seq4
GGGGGGGG
我想获得行的所有组合 (except the ones that start with > sign)
。所需的输出应为:
AAAAAAAA
TTTTTTTT
AAAAAAAA
CCCCCCCC
AAAAAAAA
GGGGGGGG
TTTTTTTT
CCCCCCCC
TTTTTTTT
GGGGGGGG
CCCCCCCC
GGGGGGGG
我的代码在这里,但是缺少组合的最后一步:
from Bio import SeqIO
list1=[]
with open('file1.fa', 'r') as file1:
for record1 in SeqIO.parse(file1, 'fasta'):
list1.append(record1.seq)
for i in list1:
print(i)
谢谢
尝试
from itertools import combinations as com
lst = ['A', 'B', 'C', 'D']
combi = list(com(lst, 2))
for entry in combi:
print(entry[0])
print(entry[1])
print()
输出
A
B
A
C
A
D
B
C
B
D
C
D
我有一个 fasta 文件如下:
>seq1
AAAAAAAA
>seq2
TTTTTTTT
>seq3
CCCCCCCC
>seq4
GGGGGGGG
我想获得行的所有组合 (except the ones that start with > sign)
。所需的输出应为:
AAAAAAAA
TTTTTTTT
AAAAAAAA
CCCCCCCC
AAAAAAAA
GGGGGGGG
TTTTTTTT
CCCCCCCC
TTTTTTTT
GGGGGGGG
CCCCCCCC
GGGGGGGG
我的代码在这里,但是缺少组合的最后一步:
from Bio import SeqIO
list1=[]
with open('file1.fa', 'r') as file1:
for record1 in SeqIO.parse(file1, 'fasta'):
list1.append(record1.seq)
for i in list1:
print(i)
谢谢
尝试
from itertools import combinations as com
lst = ['A', 'B', 'C', 'D']
combi = list(com(lst, 2))
for entry in combi:
print(entry[0])
print(entry[1])
print()
输出
A
B
A
C
A
D
B
C
B
D
C
D