Python - リストを定義する

リストの定義

Python にはリストと呼ばれるシーケンス構造があり、0 個以上の要素を持つことができます。リストは [, ] でデータを囲みます。

list = [1, 2, 3]
print(type(list))
# <class 'list'>
リスト

リスト型への変換

文字列をリスト型に変換する方法は、以下のように行います。

print(list('cat'))
# ['c', 'a', 't']
文字列をリスト型に変換

split() 関数を使えば、任意のセパレータ文字列に対して分割することができます。

s = '1982/07/01'

print(s.split('/'))
# ['1982', '07', '01']
文字列をリスト型に変換

ただし、文字列に複数のセパレータ文字列が連続している場合、リスト要素としては空文字が設定されます。

s = 'a/b//c/d///e'

print(s.split('/'))
# ['a', 'b', '', 'c', 'd', '', '', 'e']
文字列をリスト型に変換

リスト要素の取り出し

オフセットを指定すればリストからも個々の要素を取り出すことができます。

list = ['A', 'B', 'C']

print(list[0])
# A

print(list[1])
# B

print(list[2])
# C
オフセットを使った要素の取り出し

マイナスのインデックスを使えば末尾から逆に取り出すこともできます。

list = ['A', 'B', 'C']

print(list[-1])
# C

print(list[-2])
# B

print(list[-3])
# A
オフセットを使った要素の取り出し

スライスを使うと、リストのサブシーケンスを取り出すことができます。

list = ['A', 'B', 'C']

print(list[0:2])
# ['A', 'B']
スライスを使った要素の取り出し

スライスは 1 以外のステップを指定することもできます。以下の例では、先頭から右にひとつおきに要素を取り出しています。

list = ['A', 'B', 'C']

print(list[::2])
# ['A', 'C']
スライスを使った要素の取り出し

次の例では、末尾から左にひとつおきに要素を取り出しています。

list = ['A', 'B', 'C']

print(list[::-2])
# ['C', 'A']
スライスを使った要素の取り出し

スライスを使ったテクニックで、リストの要素を逆順にすることもできます。

list = ['A', 'B', 'C']

print(list[::-1])
# ['C', 'B', 'A']
スライスを使った要素の取り出し

関連記事