初心者です。
あるリストにタプルの要素を複数回加えようとした場合に起こる挙動について教えて頂けませんか?
詳しいソース全文は載せませんが、
pythonである時系列データcsvにて用意し
サンプリング単位でリスト化しました。
python
1def cal() 2 nv = tuple([nvx1 ,nvy1 ,nvx2 ,nvy2 ,nvx3 ,nvy3 ,nvx4 ,nvy4 ,nvx5 ,nvy5 ,nvx6 ,nvy6 , 3 nvx7 ,nvy7 ,nvx8 ,nvy8 ,nvx9 ,nvy9 ,nvx10,nvy10,nvx11,nvy11,nvx12,nvy12, 4 nvx13,nvy13,nvx14,nvy14,nvx15,nvy15,nvx16,nvy16,nvx17,nvy17...])
その後複数の要素を含んだタプルをいくつか作成し、
返り値としてnvを指定した後、
別の関数内でbという変数を定義しnvの各項目を呼び出そうと考えました。
python
1def other() 2 nv = cal() 3 b1 = b2 = b3 = ... = b100 = [] 4 b1.append(nv[0]),b2.append(nv[1]),b3.append(nv[2]),b3.append(nv[3])....b100.apend(nv[99])
のように他の変数にそれぞれタプルの中身をappendしようとすると
b1にもb2にもb3共通してnv[0..99]が全て追加されていました。
python
1>b1 = (nv[0],nv[1],nv[2],nv[3]....nv[99]) 2>b2 = (nv[0],nv[1],nv[2],nv[3]....nv[99]) 3>b3 = (nv[0],nv[1],nv[2],nv[3]....nv[99]) 4. 5. 6. 7
またappendの数を減らすと追加する要素数も増減することが分かりました。
python
1 2def other() 3 nv = cal() 4 b1 = b2 = b3 = ... = b100 = [] 5 b1.append(nv[0]),b2.append(nv[1]),b3.append(nv[2]),b3.append(nv[3]) 6 7 >b1 = (nv[0],nv[1],nv[2],nv[3]) 8 >b2 = (nv[0],nv[1],nv[2],nv[3]) 9 >b3 = (nv[0],nv[1],nv[2],nv[3]) 10 11
対処法は様々な方法があることは理解しているため
appendの仕組みやなぜこのようなことが起こるのか知りたいです。
説明が分かりにくくて申し訳ありませんがご助言頂けると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。