Contents
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表現 | 結果 | 説明 |
---|---|---|
len([1,2,3]) | 3 | 長さ |
[1,2,3] + [4,5,6] | [1、2、3、4、5、6] | 連結 |
[‘Hi’] * 4 | [‘Hi!’、 ‘Hi!’、 ‘Hi!’、 ‘Hi!’] | 繰り返し |
3 in [1, 2, 3] | 真 | メンバーシップ |
[1、2、3]のxに対して:print x、 | 1 2 3 | 反復 |
インデックス、スライス、および行列
リストはシーケンスなので、インデックス作成とスライスはリストの場合と同じように文字列の場合と同じように動作します。
次の入力を仮定すると、
L = ['spam', 'Spam', 'SPAM!']
Python表現 | 結果 | 説明 |
---|---|---|
L [2] | ”SPAM!’ | オフセットはゼロから始まります |
L [-2] | ‘Spam’ | 負の数:右から数えます |
L [1:] | [‘Spam’, ‘SPAM!’] | セクションをフェッチするスライシング |
組み込みリストの関数とメソッド:
Pythonには以下のリスト関数が含まれています –
SN | 説明付きの関数 |
---|---|
1 | cmp(list1、list2)
両方のリストの要素を比較します。 #!/usr/bin/python list1, list2 = [123, 'xyz'], [456, 'abc'] print cmp(list1, list2) print cmp(list2, list1) list3 = list2 + [786]; print cmp(list2, list3) 結果 -1 1 -1 |
2 | len(list)
リストの長さの合計を指定します。 #!/usr/bin/python list1, list2 = [123, 'xyz', 'zara'], [456, 'abc'] print "First list length : ", len(list1) print "Second list length : ", len(list2) 結果 First list length : 3 Second list length : 2 |
3 | max(list)
最大値を持つリストから項目を返します。 #!/usr/bin/python list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200] print "Max value element : ", max(list1) print "Max value element : ", max(list2) 結果 Max value element : zara Max value element : 700 |
4 | min(list)
min値でリストから項目を返します。 #!/usr/bin/python list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200] print "min value element : ", min(list1) print "min value element : ", min(list2) 結果 min value element : 123 min value element : 200 |
5 | list(seq)
タプルをリストに変換します。 #!/usr/bin/python aTuple = (123, 'xyz', 'zara', 'abc'); aList = list(aTuple) print "List elements : ", aList 結果 List elements : [123, 'xyz', 'zara', 'abc'] |
Pythonには以下のリストメソッドが含まれています
SN | 説明付きのメソッド |
---|---|
1 | list.append(obj)
オブジェクトobjをリストに追加します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; aList.append( 2009 ); print "Updated List : ", aList 結果 Updated List : [123, 'xyz', 'zara', 'abc', 2009] |
2 | list.count(obj)
objがリスト内で何回起こったかの回数を返します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 123]; print "Count for 123 : ", aList.count(123) print "Count for zara : ", aList.count('zara') 結果 Count for 123 : 2 Count for zara : 1 |
3 | list.extend(seq)
リストにseqの内容を追加する #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 123]; bList = [2009, 'manni']; aList.extend(bList) print "Extended List : ", aList 結果 Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni'] |
4 | list.index(obj)
objが現れるリスト内の最も小さいインデックスを返します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; print "Index for xyz : ", aList.index( 'xyz' ) print "Index for zara : ", aList.index( 'zara' ) 結果 Index for xyz : 1 Index for zara : 2
|
5 | list.insert(index、obj)
オブジェクトobjをオフセットインデックスでリストに挿入します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc'] aList.insert( 3, 2009) print "Final List : ", aList 結果 Final List : [123, 'xyz', 'zara', 2009, 'abc'] |
6 | list.pop(obj = list [-1])
最後のオブジェクトまたはobjをリストから削除して返します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; print "A List : ", aList.pop() print "B List : ", aList.pop(2) 結果 A List : abc B List : zara
|
7 | list.remove(obj)
リストからオブジェクトを削除します。 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.remove('xyz'); print "List : ", aList aList.remove('abc'); print "List : ", aList 結果 List : [123, 'zara', 'abc', 'xyz'] List : [123, 'zara', 'xyz'] |
8 | list.reverse()
リストのオブジェクトをその場で元に戻す #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.reverse(); print "List : ", aList 結果 List : ['xyz', 'abc', 'zara', 'xyz', 123] |
9 | list.sort([func])
リストのオブジェクトをソートし、指定されていればcompare funcを使う #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.sort(); print "List : ", aList 結果 List : [123, 'abc', 'xyz', 'xyz', 'zara'] |
次のページ⑫