29

私は実行できます

a = [1,2,3]
b = [4,5,6]
a.extend(b)
# a is now [1,2,3,4,5,6]

リストを拡張して新しい項目をリストの先頭に追加するアクションを実行する方法はありますか?

このような

a = [1,2,3]
b = [4,5,6]
a.someaction(b)
# a is now [4,5,6,1,2,3]

重要な場合は、バージョン 2.7.5 を使用します。

4

4 に答える 4

2

高速な操作が必要で、任意の要素にアクセスできる必要がある場合、treap または赤黒ツリーを試してください。

>>> import treap as treap_mod
>>> treap = treap_mod.treap()
>>> for i in range(100000):
...    treap[i] = i
...
>>> treap[treap.find_min() - 1] = -1
>>> treap[100]
100

Treap と赤黒木に対するほとんどの操作は、O(log(n)) で実行できます。Treap は平均して高速であると言われていますが、赤黒木は操作時間のばらつきが小さくなります。

于 2013-11-01T22:59:26.703 に答える