ここでは、Pythonにおける「List」について基本的な操作方法を解説しています。
この記事の対象
Listとは
Listとは、複数の値を1つの箱で管理するものです。
Listの型
変数名 = [数値("文字")1,数値("文字")2,....,]
「List」は「[]」の中にコンマ区切りで記述します。複数のData(数値、文字)をまとめて記述できます。
Listを用いた使用例
値の格納
test = [55,70,90]
print(test[0])
上記の出力結果は「55」です。Listの取り扱いで注意するべき点は「0」始まりだということです。例えば、test[1]としたら出力結果は「70」になります。
結果
55
要素数のカウント ⇒ len()関数
test = [55,70,90]
print(len(test))
Listの要素数を調べる場合は「len」を用いることで簡単に分かります。len()関数とcount()関数の違いについては以下をご参照下さい。
結果
3
要素の追加 ⇒ append()関数
test = [55,70,90]
test.append(75)
print(test)
末尾に要素を追加する方法は「append」関数を用いることで可能です。他にもextend関数やfromlist関数などでも追加可能です。それぞれの使用方法については以下をご参照下さい。
>>>Listへの要素の追加・結合方法(append、extend、fromlist)-まとめ-
結果
[55, 70, 90, 75]
要素の挿入 ⇒ insert()関数
first_test = [55,70,90]
first_test.insert(1,80)
print(first_test)
insert()関数は挿入したい位置を指定して、値を書き込む関数になります。詳しい使用方法は以下をご参照下さい。
結果
[55, 80, 70, 90]
要素の削除 ⇒ del()関数
test = [55,70,90]
del test[0]
print(test)
del関数を使用することで要素を削除できます。他にもremove関数やpop関数を用いることで可能です。
>>>Listの要素から任意の要素を削除する方法-del、remove、pop、clear-
結果
[70, 90]
要素の探索 ⇒ index()関数
test = [55,70,90]
print(test.index(70))
index関数で要素の探索が可能です。リスト内で任意の値がどの位置にあるか調べられます。index関数は最初にマッチした要素しかインデックスを返さない特徴があります。index関数を使用する際の注意点を以下にまとめています。ご参照下さい。
>>>リスト内での要素探索-index関数の使用方法と注意点-
結果
1
要素のカウント ⇒ count関数
test = [55,70,90,90,80,45]
print(test.count(90))
同じ要素をカウントする場合はcount関数で調べられます。以下では、count関数とcounter関数について解説をしています。ご参照下さい。
結果
2
Listの分割 ⇒ :で分割
test = [55,70,90,80,45]
print(test[2:5])
Listの分割には「:」を用いることで可能です。分割する方法の詳細に関しては以下をご参照下さい。
>>>Listの分割
結果
[90, 80, 45]
要素の並び替え ⇒ sort関数
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list)
単純な並び替えだったら、sort関数を用いることで可能です。降順にする方法やkey関数を用いた方法は以下をご参照下さい。
>>>Listの並び替え方法
結果
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
リストの複製 ⇒ copy関数
test = [55,70,90,90,80,45]
test2 = test.copy()
print(test)
print(test2)
リストを複製する場合は、copy関数を用いることで可能です。
結果
[55, 70, 90, 90, 80, 45]
[55, 70, 90, 90, 80, 45]
インデックス付きで要素の取り出し ⇒ enumerate()関数
test = [55,70,90]
for i,j in enumerate(test):
print(i,j)
「enumerate()」を用いた要素の取り出しには、変数は2つ指定する必要があります。インデックスの変数とList要素の変数になります。
結果
0 55
1 70
2 90
Listの各要素を2倍する ⇒ map()関数
numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * 2, numbers)
print(list(result))
「map()」関数はイテラブル(リスト、タプル、文字列など)の要素に対して関数を適用し、その結果を新しいイテラブルとして返すことができます。簡単にリストの要素を全て一括で操作することが可能です。
結果
[2, 4, 6, 8, 10]
List型、Tuple型、Set型の違い
項目 | 内容 |
List型 | [1,10,100]のように記述し、値を変更できる型です。 |
Tuple型 | (1,10,100)のように記述し、定義した値は変更できない型です。 |
Set型 | {1,10,100}のように記述し、重複した内容が取り扱えませんが、演算子を用いた演算が可能な型です。 |
辞書型(dict)
複数の値を1つの変数で管理する方法は、List以外に「辞書型(dict)」があります。以下にまとめています。
項目 | 内容 |
dict型 | listが値を参照するのに対してdictは任意の文字列で値を参照します。dictの型、dictを用いた使用例について解説しています。 |