根据索引的字符从列表列表中提取列表

extracting lists from list of lists based on character of index

我有一个列表列表,叫做 dregeiSNPs:

[['ACmerged_contig_24664', '378', '.', 'T', 'A', '7.30814', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:36,3,0'],
 ['ACmerged_contig_24664', '379', '.', 'G', 'A', '4.38466', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:32,3,0'],
 ['ACmerged_contig_24664', '383', '.', 'G', 'A', '7.30814', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:36,3,0']]

我试图将其中的列表放入不同的列表中,具体取决于 list[3]list[4] 中的字母。如果 list[3]list[4] 中的字符都是 'T' 或 'C',或者都是 'A' 或 'G',我希望这些行进入一个列表 dregeiTransitions,否则我希望这些行进入 dregeiTransversions.

最后我会将这段代码用于更大的数据集。

我写过这段代码:

dregeiTransitions = []
dregeiTransversions = []
for (line, list) in enumerate(dregeiSNPs):
    if list[3] == 'T' or 'C' and list[4] == 'T' or 'C':
        dregeiTransitions.append()
    if list[3] == 'A' or 'G' and list[4] == 'A' or 'G':
        dregeiTransitions.append()
    else:
        dregeiTransversions.append()

但是我得到这个错误:

  File "project1.py", line 42, in <module>
    dregeiTransitions.append()
TypeError: append() takes exactly one argument (0 given)

有人可以解释为什么会这样吗?当然,除非满足上述 ifelse 标准,否则我不应该发表 .append 声明?

你必须告诉它要追加什么。将附加内容更改为:dregeiTransitions.append(list) 它应该可以工作。