リストオブジェクトはオブジェクト自体の変更を可能にする追加の操作を サポートします。他の変更可能なシーケンス型 (を言語に追加する場合) も、 それらの操作をサポートしなければなりません。 文字列およびタプルは変更不可能なシーケンス型です: これらのオブジェクトは 一度生成されたらそのオブジェクト自体を変更することができません。 以下の操作は変更可能なシーケンス型で定義されています (ここで x は 任意のオブジェクトとします):
操作 | 結果 | 注釈 |
---|---|---|
s[i] = x |
s の要素 s を x と入れ替えます | |
s[i:j] = t |
s の i から j 番目までの要素を t と入れ替えます | |
del s[i:j] |
s[i:j] = [] と同じです |
|
s[i:j:k] = t |
s[i:j:k] の要素を t と入れ替えます |
(1) |
del s[i:j:k] |
リストから s[i:j:k] の要素を削除します |
|
s.append(x) |
s[len(s):len(s)] = [x] と同じです |
(2) |
s.extend(x) |
s[len(s):len(s)] = x と同じです |
(3) |
s.count(x) |
s[i] == x となる i の個数を返します |
|
s.index(x[, i[, j]]) |
s[k] == x かつ
i <= k < j となる最小の k を返します。 |
(4) |
s.insert(i, x) |
i >= 0 の場合の s[i:i] = [x] と同じです |
(5) |
s.pop([i]) |
x = s[i]; del s[i]; return x と同じです |
(6) |
s.remove(x) |
del s[s.index(x)] と同じです |
(4) |
s.reverse() |
s の値の並びを反転します | (7) |
s.sort([cmp[,
key[, reverse]]]) |
s の要素を並べ替えます | (7), (8), (9), (10) |
-1
なので、
標準では最後の要素をリストから除去して返します。
cmp は2つの引数(list items)からなるカスタムの比較関数を指定します。 これは始めの引数が2つ目の引数に比べて小さい、等しい、大きいかに応じて 負数、ゼロ、正数を返します。 "cmp=lambda x,y: cmp(x.lower(), y.lower())"
key は1つの引数からなる関数を指定します。これは個々のリストの要素から 比較のキーを取り出すのに使われます。 "key=str.lower"
reverse は真偽値です。 True
がセットされた場合、リストの要素は
個々の比較が反転したものとして並び替えられます。
一般的に、 key および reverse の変換プロセスは同等の cmp 関数を 指定するより早く動作します。これは key および reverse がそれぞれの要素に 一度だけ触れる間に、cmp はリストのそれぞれの要素に対して複数回呼ばれることに よるものです。
バージョン 2.3 で 変更 された仕様:
None
を渡すのと、cmp を省略した場合とで、
同等に扱うサポートを追加
バージョン 2.4 で 変更 された仕様: key および reverse のサポートを追加
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。