list.append()
リストの最後に追加するための明らかな選択です。欠落しているの合理的な説明list.prepend()
を次に示します。私のリストが短く、パフォーマンスの問題が無視できると仮定すると、
list.insert(0, x)
また
list[0:0] = [x]
慣用的な?
s.insert(0, x)
フォームが最も一般的です。
ただし、それを見るときはいつでも、リストの代わりにcollections.dequeを使用することを検討する時期かもしれません。dequeの前に置くことは、一定時間で実行されます。リストの前に付けることは線形時間で実行されます。
機能的な方法で進むことができれば、次のことはかなり明確です
new_list = [x] + your_list
もちろん、 に挿入x
したyour_list
のではなく、先頭に追加して新しいリストを作成x
しました。
誰かが私のようにこの質問を見つけた場合、提案された方法のパフォーマンステストは次のとおりです。
Python 2.7.8
In [1]: %timeit ([1]*1000000).insert(0, 0)
100 loops, best of 3: 4.62 ms per loop
In [2]: %timeit ([1]*1000000)[0:0] = [0]
100 loops, best of 3: 4.55 ms per loop
In [3]: %timeit [0] + [1]*1000000
100 loops, best of 3: 8.04 ms per loop
ご覧のとおり、insert
およびスライスの割り当ては、明示的な追加よりもほぼ 2 倍高速であり、結果も非常に似ています。Raymond Hettingerが指摘したようinsert
に、より一般的なオプションであり、個人的にはこの方法をリストの先頭に追加することを好みます。