複数のデータを保持するための要素。多言語で言うところの配列。
リストの作り方
リストは[]
の中に要素を記述する。
<list> = [<value>, ...]
例
age = [32, 16, 28, 34]
リストから値を取り出す
リストから値を取り出すには、添え字を指定する方法とスライスを使う方法があります。
添え字を指定する方法
リストの添え字を指定する方法は、以下のようにリスト名に角括弧をつけて、添え字を指定します。
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) # 1
print(my_list[1]) # 2
print(my_list[-1]) # 5
添え字は、0から始まることに注意してください。また、負の添え字を指定することもできます。負の添え字を指定すると、リストの末尾から逆順にアクセスすることができます。
スライスを使う方法
スライスを使うと、リストの一部分を取り出すことができます。スライスは、以下のようにリスト名に角括弧をつけて、開始インデックス、終了インデックス、ステップ数を指定します。
リスト[開始インデックス:終了インデックス:ステップ数]
- 開始インデックス: スライスの開始位置を指定する整数値です。省略すると0となります。
- 終了インデックス: スライスの終了位置を指定する整数値です。省略するとリストの末尾となります。
- ステップ: スライスの要素を何個ずつ飛ばして取り出すかを指定する整数値です。省略すると1となります。
my_list = [1, 2, 3, 4, 5]
print(my_list[1:4]) # [2, 3, 4]
上記の例では、リストの2番目から4番目の要素を取り出しています。この場合、開始インデックスは1で、終了インデックスは4です。終了インデックスは、指定したインデックスよりも1つ大きい位置までが取り出されます。
また、以下のように開始インデックスまたは終了インデックスを省略することもできます。
my_list = [1, 2, 3, 4, 5]
print(my_list[:3]) # [1, 2, 3]
print(my_list[2:]) # [3, 4, 5]
print(my_list[:]) # [1, 2, 3, 4, 5]
開始インデックスを省略すると、リストの先頭から取り出します。終了インデックスを省略すると、リストの末尾まで取り出します。両方を省略すると、リスト全体が取り出されます。
偶数番目を取り出す
<list>[0::2]
奇数番目を取り出す
<list>[1::2]
リストの要素を数える
リストの長さを取得する
リストに含まれる要素数を取得するには、len()
関数を使用する。
len(<list>)
例
length = len(age)
print(length)
リストの要素数(重複なし)をカウントする
リストを集合に変換して、カウントする。
len(set(<list>))
リストに要素を追加する
<list>.append(<opbject>)
リストをソートする
昇順でソートする
sorted(<list>)
逆順でソートする
sorted(<list>, reverse=True)
リストの要素を確認する
指定の値を持つ要素が存在するか調べる
<value> in <list>
使用例
"alpha" in listA
指定の値を持つ要素が存在しないか調べる
<value> not in <list>
使用例
0 not in listB
指定の値を持つ要素を数える
<list>.count(<value>)
使用例
B.count(0)
指定した位置にある要素を削除する
list.pop()
は、インデックスで指定した位置にある要素をリストから削除します。
fruits = ["apple", "banana", "grape", "mango"]
fruits.pop(3)
# 'mango'
print(fruits)
# ['apple', 'banana', 'grape']
リストの要素に関数を適用し、リストで返す
list(map(<function>, <list>))
リスト内包
リスト内包とは、リストなどから新しいリストを作成するPythonの機能です。
[式 for 変数 in イテラブルオブジェクト]
for節とif節から作られるリスト
[(a, b, c) for a in range(2) for b in range(3) for c in range(4) if 500*a+100*b+50*x == 200]
文字列のリストを整数に変換する
str_list = ['1', '2', '3' ,'4', '5']
int_list = [int(num) for num in str_list]
print(int_list)
# [1, 2, 3, 4, 5]
アンパック代入
リスト内の値をワンライナーで複数の変数に代入出来る。
a, b = [1, 10]
See Also
辞書 / ディクショナリ
キーと値からなるリスト
集合
重複しない要素の集まり
標準入力
入力値の読み込み
算術関数
数値計算に用いる関数
Jupyter Notebook
OSの機能を使用する
統合開発環境
開発から実行までをお手軽に
argparse
コマンドオプション解析