シーケンスは、Pythonの最も基本的なデータ構造です。
シーケンス内の各値には、インデックスと呼ばれる対応する位置値があります。
最初のインデックス値は0、2番目のインデックス値は1…というように続きます。
Pythonにはシーケンス用の6つの組み込み型がありますが、最も一般的なのはリストとタプルです。
リストで実行できる操作は、インデックス、スライス、加算、乗算、およびメンバーチェックが含まれています。
さらに、Pythonには、シーケンスの長さ、最大要素と最小要素を決定するためのメソッドが組み込みされています。
リストは、最も一般的に使用されるPythonデータ型であり、角括弧内にコンマ区切りの値として表示できます。
リストのデータ項目は同じタイプである必要はありません。
リストを作成するには、コンマで区切っているさまざまなデータ項目を角かっこで囲めばいいです。 次の例をご覧ください。
list1 = ['Google', 'Ceodata', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
目次
リストの値をアクセスする
文字列のインデックスと同様に、リストのインデックスは0から始まり、2番目のインデックスは1…というように続きます。
インデックスリストを介して、スライスや組み合わせなどの操作を行うことができます。
実例
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
上記の実例の出力は以下になります。
red
green
blue
インデックスは最後から開始することもでき、最後の要素のインデックス値は-1、前のは-2…というように続きます。
実例
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )
上記の実例の出力は以下になります。
black
white
yellow
下付き文字のインデックスを使用して、リスト内の値にアクセスします。同様に、以下に示すように、角括弧[]を使用して文字をスライスすることもできます。
実例
#!/usr/bin/python3
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
上記の実例の出力結果は以下になります。
[10, 20, 30, 40]
負のインデックス値を使用してスライスします。
実例
#!/usr/bin/python3
list = ['Google', 'Ceodata', "Yahoo", "Amazon", "Wiki"]
# 2位を読む
print ("list[1]: ", list[1])
# 2位(含む)から最後から2位の位置(含まれない)まで
print ("list[1:-2]: ", list[1:-2])
上記の実例の出力結果は以下になります。
list[1]: Ceodata
list[1:-2]: ['Ceodata', 'Yahoo']
更新リスト
以下に示すように、リストのデータ項目を変更または更新できます。また、append()メソッドを使用してリスト項目を追加することもできます。
実例(Python 3.0以降)
#!/usr/bin/python3
list = ['Google', 'Ceodata', 1997, 2000]
print ("3番目の要素は ", list[2])
list[2] = 2001
print ("更新後の3番目の要素は ", list[2])
注意:次の章では、append()メソッドの使用について説明します。
上記の実例の出力結果は以下になります。
3番目の要素は:1997
更新後の3番目の要素は:2001
リスト要素を削除する
次の例のように、delステートメントを使用してリストの要素を削除できます。
实例(Python 3.0+)
#!/usr/bin/python3
list = ['Google', 'Ceodata', 1997, 2000]
print ("元のリスト : ", list)
del list[2]
print ("3番目の要素を削除 : ", list)
上記の実例の出力は以下になります。
元のリスト:['Google', 'Ceodata', 1997, 2000]
3番目の要素を削除:['Google', 'Ceodata', 2000]
注意:次の章では、remove()メソッドの使用について説明します。
Pythonリストスクリプト演算子
リストペア+と * の演算子は、文字列に似ています。 +記号は結合リストに使用され、*記号は繰り返しリストに使用されます。
次の表が示すように
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] | True | 要素がリストに存在するかどうか |
for x in [1, 2, 3]: print(x, end=” “) | 1 2 3 | 更新 |
Pythonリストのスライスと接続
Pythonのリストのスライスはと文字列操作のタイプは次のとおりです。
L=['Google', 'Ceodata', 'Yahoo']
操作
Python 式 | 結果 | 説明 |
L[2] | ‘Yahoo’ | 3番目の要素を読み取る |
L[-2] | ‘Ceodata’ | 右から最後から2番目の要素を読み取る: count from the right |
L[1:] | [‘Ceodata’, ‘Yahoo’] | 2番目の要素の後のすべての要素を出力する。 |
>>>L=['Google', 'Ceodata', 'Yahoo']
>>> L[2]
'Yahoo'
>>> L[-2]
'Ceodata'
>>> L[1:]
['Ceodata', 'Yahoo']
>>>
リストは、接続操作もサポートしています。
>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>
ネストしたリスト
ネストしたリストは、リスト内に他のリストを作成することを意味します。例は以下になります。
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x [['a', 'b', 'c'], [1, 2, 3]]
>>> x[0] ['a', 'b', 'c']
>>> x[0][1] 'b'
Pythonリストの関数とメソッド
Pythonには次の関数が含まれています。
番号 | 関数 |
1 | len(list) リスト要素の数 |
2 | max(list) リスト要素の最大値を返す |
3 | min(list) リスト要素の最小値を返す |
4 | list(seq) タプルをリストに変換する |
Pythonには次のメソッドが含まれています。
番号 | メソッド |
1 | list.append(obj) リストの最後に新しいオブジェクトを追加する。 |
2 | list.count(obj) 要素がリストに表示される回数を数える。 |
3 | list.extend(seq) リストの最後に別のシーケンスから複数の値を一度に追加する(新しいリストで元のリストを展開する)。 |
4 | list.index(obj) リストから値の最初の一致するインデックス位置を見つける。 |
5 | list.insert(index, obj) リストにオブジェクトを挿入する。 |
6 | list.pop([index=-1]) リストから要素(デフォルトでは最後の要素)を削除し、要素の値を返す。 |
7 | list.remove(obj) リスト内の値の最初の対応項目を削除する。 |
8 | list.reverse() リスト内の要素を逆にする。 |
9 | list.sort( key=None, reverse=False) 元のリストを並べ替える。 |
10 | list.clear() リストをクリアする。 |
11 | list.copy() リストをコピーする。 |
コメントを残す