根据索引的字符从列表列表中提取列表
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)
有人可以解释为什么会这样吗?当然,除非满足上述 if
或 else
标准,否则我不应该发表 .append
声明?
你必须告诉它要追加什么。将附加内容更改为:dregeiTransitions.append(list)
它应该可以工作。
我有一个列表列表,叫做 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)
有人可以解释为什么会这样吗?当然,除非满足上述 if
或 else
标准,否则我不应该发表 .append
声明?
你必须告诉它要追加什么。将附加内容更改为:dregeiTransitions.append(list)
它应该可以工作。