我最近开始使用 Python 2.7 进行编码。我是分子生物学家。我正在编写一个脚本,其中涉及创建这样的列表:
mylist = [[0, 4, 6, 1], 102]
这些列表通过向 mylist[0] 添加一个项目并将一个值与 mylist[1] 相加来递增。
为此,我使用以下代码:
def addres(oldpep, res):
return [oldpep[0] + res[0], oldpep[1] + res[1]]
哪个效果很好。由于 mylist[0] 可能会变得有点长,而且我有数百万个这样的列表需要处理,我认为使用 append 或 extend 可能会使我的代码更快,所以我尝试了:
def addres(pep, res):
pep[0].extend(res[0])
pep[1] += res[1]
return pep
在我看来,这应该给出相同的结果。当我在任意列表上尝试时,它确实给出了相同的结果。但是当我将它提供给数百万个列表时,它给了我一个非常不同的结果。那么……这两者有什么区别?脚本的所有其余部分完全相同。谢谢!罗伯托