Python-リスト

Pythonの最も基本的なデータ構造は sequence。シーケンスの各要素には、その位置またはインデックスという番号が割り当てられます。最初のインデックスはゼロ、2番目のインデックスは1というように続きます。

Pythonには6つの組み込みタイプのシーケンスがありますが、最も一般的なものはリストとタプルであり、このチュートリアルで確認できます。

すべてのシーケンスタイプで実行できる特定のことがあります。これらの操作には、インデックス作成、スライス、追加、乗算、およびメンバーシップの確認が含まれます。さらに、Pythonには、シーケンスの長さを検索し、その最大要素と最小要素を検索するための組み込み関数があります。

Pythonリスト

このリストは、Pythonで利用できる最も用途の広いデータ型であり、角かっこで囲まれたコンマ区切りの値(項目)のリストとして記述できます。リストに関する重要なことは、リスト内のアイテムが同じタイプである必要はないということです。

リストの作成は、角括弧の間に異なるコンマ区切りの値を入れるのと同じくらい簡単です。例-

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]

文字列インデックスと同様に、リストインデックスは0から始まり、リストはスライス、連結などが可能です。

リスト内の値へのアクセス

リスト内の値にアクセスするには、1つまたは複数のインデックスと一緒にスライスするための角括弧を使用して、そのインデックスで使用可能な値を取得します。例-

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

上記のコードを実行すると、次の結果が得られます。

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

リストの更新

代入演算子の左側にスライスを指定することで、リストの単一または複数の要素を更新できます。また、append()メソッドを使用してリスト内の要素に追加できます。例-

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]

Note − append()メソッドについては、次のセクションで説明します。

上記のコードを実行すると、次の結果が得られます。

Value available at index 2 :
1997
New value available at index 2 :
2001

リスト要素を削除する

リスト要素を削除するには、削除する要素が正確にわかっている場合はdelステートメントを使用し、わからない場合はremove()メソッドを使用します。例-

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1

上記のコードを実行すると、次の結果が得られます-

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

Note − remove()メソッドについては、次のセクションで説明します。

基本的なリスト操作

リストは、文字列のように+および*演算子に応答します。結果が文字列ではなく新しいリストであることを除いて、ここでも連結と繰り返しを意味します。

実際、リストは、前の章で文字列に対して使用した一般的なシーケンス操作のすべてに応答します。

Python式 結果 説明
len([1、2、3]) 3 長さ
[1、2、3] + [4、5、6] [1、2、3、4、5、6] 連結
['こんにちは!'] * 4 ['Hi!'、 'Hi!'、 'Hi!'、 'Hi!'] 繰り返し
[1、2、3]の3 本当 メンバーシップ
[1、2、3]のxの場合:印刷x、 1 2 3 反復

インデックス作成、スライス、およびマトリックス

リストはシーケンスであるため、インデックス作成とスライスは、文字列の場合と同じようにリストに対して機能します。

次の入力を想定-

L = ['spam', 'Spam', 'SPAM!']

Python式 結果 説明
L [2] スパム! オフセットはゼロから始まります
L [-2] スパム ネガティブ:右から数える
L [1:] ['スパム'、 'SPAM!'] スライスはセクションをフェッチします

組み込みのリスト関数とメソッド

Pythonには次のリスト関数が含まれています-

シニア番号 説明付きの関数
1 cmp(list1、list2)

両方のリストの要素を比較します。

2 len(リスト)

リストの全長を示します。

3 max(list)

リストから最大値のアイテムを返します。

4 min(リスト)

最小値でリストからアイテムを返します。

5 list(seq)

タプルをリストに変換します。

Pythonには次のリストメソッドが含まれています

シニア番号 説明付きのメソッド
1 list.append(obj)

オブジェクトobjをリストに追加します

2 list.count(obj)

リスト内でobjが発生した回数のカウントを返します

3 list.extend(seq)

seqの内容をリストに追加します

4 list.index(obj)

objが表示されるリスト内の最小のインデックスを返します

5 list.insert(index、obj)

オブジェクトobjをオフセットインデックスのリストに挿入します

6 list.pop(obj = list [-1])

リストから最後のオブジェクトまたはobjを削除して返します

7 list.remove(obj)

リストからオブジェクトobjを削除します

8 list.reverse()

リストのオブジェクトを元の場所に戻します

9 list.sort([func])

リストのオブジェクトを並べ替えます。指定されている場合はcomparefuncを使用します