最近、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
私の考えでは、同じ結果が得られるはずです。任意のリストで試してみると、同じ結果が得られます。しかし、それを何百万ものリストにフィードすると、まったく異なる結果が得られます。それで... 2つの違いは何ですか?スクリプトの残りの部分はすべてまったく同じです。ありがとうございました!ロベルト