私は2つのリストを持っています:
a=[[10, 0], [12,1], [13, 8], [2, -3]]
b=[1, 2, -30, 404]
結果が次のようになるように、値を のa[*][1]
値に置き換えたいと思います。b
[[10, 1], [12, 2], [13, -30], [2, 404]]
明白な方法 (私にとっては、実際にはCプログラマー) は次のようになります。
for i in range(len(a)):
a[i][1]=b[i]
しかし、どういうわけか、これはあまりPythonicではありません。
どうすればpythonicな方法でそれを行うことができますか?
さらに、b
-list は よりも多いまたは少ない要素を持つことができますa
。少ない場合、残りの要素は変更されa
ません。
a=[[10, 0], [12,1], [13, 8], [2, -3]]
b=[10, 20]
result=[[10, 10], [12,20], [13, 8], [2, -3]]
それ以上の場合は、デフォルトの最初の要素を持つ新しいエントリを追加したいと思います (例: None
)
a=[[10, 0], [12,1]]
b=[100, 200, -30, 404]
result=[[10, 100], [12,200], [None, -30], [None, 404]]
これはリスト内包表記で達成できますか?