Introduction to Python lists :
Python のリストは内部的に配列として表現されます。 C++のvectorやJavaのArrayListの実装と同じような考え方で使われています。 コストのかかる操作は、先頭付近のアイテムの挿入と削除です(すべてを移動させなければならないため)。
Pythonでリストを作るには、以下のようにします。
例です。
list1
=
Pythonでリストの各要素にアクセスするには、その割り当てられたインデックスを使用することが可能です。 Python では、リストシーケンスの開始インデックスは 0 で、終了インデックスは (N 個の要素がある場合) N-1 です。
また、上記の配列に示すようにリストは -N から始まる負のインデックスも持ちます (リストにN個の要素がある場合) から -1 までです。
list1
=
print
(list1)
print
(list1)
print
(list1)
データの割り当てとアクセスについてです。
リストを作成するには、角括弧「’」の中に要素を指定し、それに名前を付ける必要があります。
リスト内の各要素にはインデックスが割り当てられ、正のインデックスでは0からリストの終わりまで、負のインデックスでは-N(要素がNの場合)から-1までのインデックスが割り当てられます。 また、ループを使用して要素にアクセスしたり代入したりすることも可能です。
list1
=
for
i
in
range
(
0
,
11
):
list1.append(i)
for
i
in
range
(
0
,
11
):
print
(list1)
リストを更新しています。
すでにリストに割り当てられている要素を更新したり、一度に1つの要素をリストに追加することができます。さらに、現在のリストに別のリストを追加して、リストを拡張することもできます。
上記のタスクは以下のように実行できます。
list1
=
list1
=
5
print
(list1)
list1.append(
6
)
print
(list1)
list1.extend()
print
(list1)
注意事項です。 append() と extend() は Python のリスト用のビルトインメソッドです。
リストの要素の削除:
del関数を利用することでリストの要素を削除することができます。
上の画像では、インデックス 2 の要素 3 が削除され、インデックスが更新されました。
list1
=
print
(list1)
del
list1
print
(list1)
操作の時間複雑性
Operation |
平均ケース |
償却ワーストケース |
|
コピー | O(n) | O(n) | |
加算 | O(1) | O(n)1 | O(1) |
ポップラスト | O(1) | ||
ポップミドル |
O(k) |
||
Insert |
O(n) |
||
アイテム取得 | O(1) | O(1) | |
アイテムセット | O(1) | O(1) | |
O(n) | |||
イテレーション | O(n) | O(n) | O(n) |
Getスライス | O(k) | ||
Delスライス スライス | O(n) | ||
Set Slice | O(k+n) | O(k+n) | |
拡張 | O(k) | ||
Sort | O(n log n) | O(n log n) | |
乗算 | O(nk) | O(nk) | |
x in s | O(n) | ||
min(s), max(s) | O(n) | ||
Get Length |
O(1) |
O(1) |
コメントを残す