gpt4 book ai didi

python - 在 for 循环中使用 slice 来构建列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:57:31 26 4
gpt4 key购买 nike

我想使用 for 循环构建一个列表,并尝试使用切片表示法。我想要的输出将是一个具有以下结构的列表:

known_result[i] = (record.query_id, (align.title, align.title,align.title....))

但是我无法让切片运算符工作:

knowns = "output.xml" 
i=0
for record in NCBIXML.parse(open(knowns)):
known_results[i] = record.query_id
known_results[i][1] = (align.title for align in record.alignment)
i+=1

结果是:

list assignment index out of range. 

我正在使用 BioPython 的 NCBIXML 模块迭代一系列序列,但问题是添加到列表中。有没有人知道如何通过更改切片的使用或通过其他方法来构建所需的列表?

谢谢扎克cp

(在 [Biostar] 交叉发布)1

最佳答案

您不能在不存在的索引处为 list 赋值。添加元素的方法(在列表的末尾,这是常见的用例)是使用列表的 .append 方法。

在你的例子中,行

known_results[i] = record.query_id     
known_results[i][1] = (align.title for align in record.alignment)

可能应该改为

element=(record.query_id, tuple(align.title for align in record.alignment))
known_results.append(element)

警告:以上代码未经测试,因此可能包含错误。但它背后的想法应该可行。

关于python - 在 for 循环中使用 slice 来构建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8648595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com