如何逐行获取列表的str项的所有组合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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...