【Python3】リスト
リスト(list)
リストを扱うには、下記のように[…]で定義します。
リストの添字は 0 から始まります。
※インデックスには負の値を指定することもできます。
「-1」なら一番最後の要素、「-2」なら最後から二番目の要素となります。
リストには異なった種類のオブジェクトを指定して作成したり、
リストの各要素には、異なった種類のオブジェクトを代入する事もできます。
days = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ]
print(days[0]) # Sun
print(days[1]) # Mon
human = ["山本", "太郎", 2015, 9, 1, "男性"]
リストのリストを作ることも可能です。
aaa = [[1, 2], [3, 4], [5, 6]]
for a in aaa:
for n in a:
print(n) #=> 1 2 3 4 5 6
リストの要素にアクセスするには for を用います。
days = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ]
for day in days:
print(day)
リストにスライスを使って部分リストを取得することができます。
list = ["A", "B", "C", "D", "E"]
slice1 = list[1:2] # ["B"]
slice2 = list[1:-1] # ["B", "C", "D"]
slice3 = list[1:] # ["B", "C", "D", "E"]
slice4 = list[:2] # ["A", "B"]
slice5 = list[:] # ["A", "B", "C", "D", "E"]
また、+ 演算子を用いてリストを結合することができます。
print [1, 2, 3] + [4, 5, 6] #=> [1, 2, 3, 4, 5, 6]
リストの中の任意の要素を削除することができます。
要素を削除するには「del」文を使用します。
list = ["A", "B", "C"]
del list[1]
print list # ["A", "C"]
リストの個数
リストの個数は len() メソッドを使うと取得できます。
aaa = ["A", "B", "C"]
print len(aaa) # 3
リスト操作
下記メゾットを使って、リストを操作することができます。
append:末尾に要素を追加。
extend:別のリストの要素を末尾に追加。
insert:要素の挿入。
pop:指定のインデックスの要素を削除。
remove:指定の値を持つ要素を削除
スライスを使った要素の追加・挿入・削除もできます。
aaa = ["A", "B", "C"]
aaa[len(aaa):] = "D"
print(aaa) # ["A", "B", "C", "D"]
aaa[len(aaa):] = ["E", "F"]
print(aaa) # ["A", "B", "C", "D", "E", "F"]
aaa = ["A", "B", "C", "D"]
aaa[1:3] = []
print(aaa) # ["A", "D"]
要素の確認
リストの中に指定した値を持つ要素を以下の方法で確認できます。
・in 演算子
指定の値が要素に含まれているかどうかを調べるために使います
aaa = ["A", "B", "C"]
print("B" in aaa) # True
print("D" in aaa) # False
print("B" not in aaa) # False
print("D" not in aaa) # True
・index メソッド
指定の値がリストの要素に含まれる時に要素のインデックスを取得するのに使います。
aaa = ["A", "B", "C"]
print(aaa.index("B")) # 1
・count メソッド
指定の値を持つ要素がいくつ含まれるかを取得するのに使います。
aaa = ["A", "B", "C", "B"]
print(aaa.count("B")) # 2
要素のソート
要素が参照しているオブジェクトの値を使って並べ替えることができます。
・sort メソッド
値を昇順に並び替える場合に使います。
aaa = ["B", "C", "A"]
num = [5, 2, 3]
aaa.sort()
print(aaa) # ["A", "B", "C"]
num.sort()
print(num) # [2, 3, 5]
・reverse メソッド
要素が並んでいる順番を逆に並び替える場合に使います。
※値を降順に並び替えるわけでは無いです。
aaa = ["B", "C", "A"]
aaa.reverse()
print(aaa) # ["A", "C", "B"]
降順にソートしたい場合には、
まず「sort」メソッドを実行してから「reverse」メソッドを実行します。
range関数
順番に並んだ数値を要素として持つリストを作成したい時に使います。
書式は、以下のとおりになります。
range([start,] stop[, step])
引数は、全て整数で指定します。
start:開始値
stop:最終値
step:増加値
「stop」だけを指定した場合には、
0 から「stop – 1」まで順に 1 ずつ増加する要素を持つリストが作成されます。