Como anexar lista para lista usando python?

0

Pergunta

Eu me pergunto para acrescentar listab a listA

entrada

listA = [[a,b],[c,d],[e,f]]
listB = [[g,h],[i,j]]

imaginando saída

sum_list = [[a,b],[c,d],[e,f],[g,h],[i,j]]

sob o meu código, por Favor, encontrar algo para corrigir.

    for line in vcf_file:
    match = []
    CHROM = line.split('\t')[0]
    POS = line.split('\t')[1]
    REF = line.split('\t')[3]
    ALT = line.split('\t')[4]
    VEP = line.split('ANN=')[1].split('|')[1]
    ANN = line.split('ANN=')[1].split(';')[0]
    if len(ANN.split(',')) > 1 :
        for i in ANN.split(','):
            GENE, HGVS = i.split('|')[3], i.split('|')[10]
            for one in GENE:
                tmp=[]
                tmp.append(sampleNo)
                tmp.append(GENE)
                tmp.append(CHROM)
                tmp.append(POS)
                tmp.append(REF)
                tmp.append(ALT)
                tmp.append(VEP)
            match.extend(tmp)

Qualquer ajuda seria apreciada. Obrigado


Muito obrigado pela resposta.
Eu a resolver o problema. Fiz outra lista e estendida. É resolvido.

    for line in vcf_file:
    match = []
    CHROM = line.split('\t')[0]
    POS = line.split('\t')[1]
    REF = line.split('\t')[3]
    ALT = line.split('\t')[4]
    VEP = line.split('ANN=')[1].split('|')[1]
    VEP_impact = line.split('ANN=')[1].split('|')[2]
    REF_DP = line.split('\t')[9].split(':')[1].split(',')[0]
    ALT_DP = line.split('\t')[9].split(':')[1].split(',')[1]
    AF = line.split('\t')[9].split(':')[2]
    ANN = line.split('ANN=')[1].split(';')[0]
    if len(ANN.split(',')) > 1 :
        for i in ANN.split(','):
            GENE, HGVS = i.split('|')[3], i.split('|')[10]
            ann = []
            for one in GENE:
                tmp = []
                tmp.append(sampleNo)
                tmp.append(GENE)
                tmp.append(CHROM)
                tmp.append(POS)
                tmp.append(REF)
                tmp.append(ALT)
                tmp.append(VEP)
                tmp.append(VEP_impact)
                tmp.append(REF_DP)
                tmp.append(ALT_DP)
                tmp.append(AF)
            ann.extend(tmp)
        match.extend(ann)
list python
2021-11-24 06:03:17
2

Melhor resposta

1

Existem 2 maneiras pelo menos para fazer isso em python.

Você pode usar o extend() ou o + o operador.

Por exemplo.

listA.extend(listB)

Ou

listA+=listB
2021-11-24 06:08:12
1

listA.extend(listB) deve funcionar, mas ele modifica o original listA. Se você quiser sum_list para ser uma lista diferente, você pode copiá-lo pela primeira vez com algo como

sum_list = list(listA)
sum_list.extend(listB)
2021-11-24 06:07:24

Com esta abordagem, o interior listas ainda são os mesmos. Você vai precisar de deepcopy para evitar isso.
Matthias

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................