Python-lists

提供:Dev Guides
移動先:案内検索

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から始まり、リストのスライス、連結などが可能です。

リストの値へのアクセス

リスト内の値にアクセスするには、スライスに角かっこを使用してインデックスを作成し、そのインデックスで使用可能な値を取得します。 たとえば-

#!/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]

注意-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]

注意-remove()メソッドについては、後続のセクションで説明します。

基本的なリスト操作

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

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

Python Expression Results Description
len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] Repetition
3 in [1, 2, 3] True Membership
for x in [1, 2, 3]: print x, 1 2 3 Iteration

インデックス付け、スライス、および行列

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

次の入力を想定-

L = ['spam', 'Spam', 'SPAM!']
Python Expression Results Description
L[2] SPAM! Offsets start at zero
L[-2] Spam Negative: count from the right
L[1:] ['Spam', 'SPAM!'] Slicing fetches sections

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

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

Sr.No. Function with Description
1

cmp(list1, list2)

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

2

len(list)

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

3

max(list)

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

4

min(list)

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

5

list(seq)

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

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

Sr.No. Methods with Description
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)]

リストのオブジェクトをソートし、指定されている場合は比較関数を使用します