UPDATE:2024年09月05日
Python リスト(list) インデックス配列 -入門編-
Pythonリファレンス
Python3
目次 [閉じる]
Python にも他の言語と同様に複数の要素を同時に扱う機能があります。リスト(list)、タプル(tuple)、辞書(dict)、集合(set)の4種類です。一般的には配列などとも言います。リスト(list)や タプル(tuple) の場合、例えば 0 ~ 100 までの整数値をインデックスとして各番号に値(要素)を持たせ、100 までのインデックスと要素の組み合わせを1つの容器に格納するようなものです。辞書(dict) の場合、一意のkey(キー) と 値(value)を1つのセットとして各要素を構成します。集合(set)の場合、一意のkey(キー)で各要素を構成します。
Python のリスト(list)
リスト(list) は、任意の整数値をインデックスとして、順番に各要素を管理するシーケンス型のデータです。インデックス配列に近いものです。リスト は、要素の内容の変更や、要素の追加・削除、順番の変更などが行えます。リスト は要素をインデックスによる順序管理を行う場合に利用するのが良いでしょう。特に順番による管理が必要なければ、集合(set)を利用する方が良い場合もあります。リスト は、ミュータブル(データの内容を変更できる) な機能です。
※シーケンス=順番に並んだ
※シーケンス=順番に並んだ
リスト(list)の作成と取り出し
[ ] による作成と取り出し
「[ ] (角括弧)」を使用して リスト を作成できます。格納したい各要素を「,(カンマ)」で区切ります。「[ ] (角括弧)」を オフセット(offset) と言います。
作成
1 | listData = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] |
「[ ] (オフセット)」で取り出し
1 2 3 4 5 | listData = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] print(listData) print(listData[0]) print(listData[1]) print(listData[2]) |
実行結果
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
Monday
Tuesday
Wednesday
Monday
Tuesday
Wednesday
「[ ] (オフセット)」で末尾から取り出し
1 2 3 4 | listData = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] print(listData[-1]) print(listData[-2]) print(listData[-3]) |
実行結果
Sunday
Saturday
Friday
Saturday
Friday
for文で取り出し
1 2 | for i in listData: print (i) |
実行結果
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
list() による作成と取り出し
list() 関数を利用すると、文字列など他のデータ型を リスト に変換できます。
作成
1 | listDataStr = list('wepicks') |
取り出し
1 2 | listDataStr = list('wepicks') print(listDataStr) |
実行結果
['w', 'e', 'p', 'i', 'c', 'k', 's']
整数、浮動小数点、ブール値なども扱える。
リスト は、文字列以外に整数、浮動小数点数、ブール値なども扱える。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # -*- coding: utf-8 -*- ####整数 listDataInt = [845, 591, 985236, 52, 14984684] #表示 print(listDataInt) print(listDataInt[0]) print(listDataInt[1]) ###浮動小数点数 listDataFlt = [0.685, 10.25875, 0.000854, 58485.1, 5.00003] #表示 print(listDataFlt) print(listDataFlt[0]) print(listDataFlt[1]) ###ブール値 listDataBool = [False, True] #表示 print(listDataBool) print(listDataBool[0]) print(listDataBool[1]) |
実行結果
[845, 591, 985236, 52, 14984684]
845
591
[0.685, 10.25875, 0.000854, 58485.1, 5.00003]
0.685
10.25875
[False, True]
False
True
845
591
[0.685, 10.25875, 0.000854, 58485.1, 5.00003]
0.685
10.25875
[False, True]
False
True
リスト 要素の追加
リスト の末尾に要素を追加するには、append() を使用します。インデックス番号を指定して要素を追加するには insert() を使用します。insert(0, 要素) で先頭に追加、insert(インデックス, 要素) 指定箇所に追加、insert(インデックス最大値, 要素) 末尾に追加、です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # -*- coding: utf-8 -*- ####末尾に追加 listData = ['username', 'mail', 'address'] listData.append('tel') print(listData) ####インデックスを指定して追加 先頭 listData = ['username', 'mail', 'address'] listData.insert(0, 'tel') print(listData) ####インデックスを指定して追加 2番目 listData = ['username', 'mail', 'address'] listData.insert(2, 'tel') print(listData) ####インデックスを指定して追加 末尾 listData = ['username', 'mail', 'address'] listData.insert(100, 'tel') print(listData) |
実行結果
['username', 'mail', 'address', 'tel']
['tel', 'username', 'mail', 'address']
['username', 'mail', 'tel', 'address']
['username', 'mail', 'address', 'tel']
['tel', 'username', 'mail', 'address']
['username', 'mail', 'tel', 'address']
['username', 'mail', 'address', 'tel']
リスト 要素の変更
リスト[インデックス] = 要素 で指定インデックスの要素の内容を変更できます。
1 2 3 4 5 | # -*- coding: utf-8 -*- ######### リスト 要素の変更 ######### listData = ['username', 'mail', 'address'] listData[2] = 'zipcode' print(listData) |
実行結果
['username', 'mail', 'zipcode']
リスト 要素の削除
リスト要素 の削除は、remove(要素) や pop(インデックス) で実行できます。remove() は、引数で指定した要素を削除します。一回削除するとその後は削除されません。pop() の場合は、引数に インデックス を指定し、該当する要素が削除されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # -*- coding: utf-8 -*- ######### リスト 要素の削除 ######### #remove 指定削除 listData = ['username', 'mail', 'address'] listData.remove('address') print(listData) #pop 先頭削除 listData = ['username', 'mail', 'address'] listData.pop(0) print(listData) #pop 末尾削除 listData = ['username', 'mail', 'address'] listData.pop(-1) print(listData) |
実行結果
['username', 'mail']
['mail', 'address']
['username', 'mail']
['mail', 'address']
['username', 'mail']
リスト の結合
extend() は、リスト と リスト を結合します。結合元リスト.extend(結合先リスト) で結合元リストに結合先リストの要素が追加されます。
1 2 3 4 5 6 7 | # -*- coding: utf-8 -*- ######### リスト の結合 ######### #extend listData1 = ['username', 'mail', 'address'] listData2 = ['tel', 'birthday'] listData1.extend(listData2) print(listData1) |
実行結果
['username', 'mail', 'address', 'tel', 'birthday']
リスト の並べ替え
sort() と sorted() でリストを昇順にソート(並び替える)することが出来ます。sort() はその場で リスト を並べ替えます。 sorted() は並べ替えた リスト のコピーを返します。
1 2 3 4 5 6 7 8 9 10 11 | # -*- coding: utf-8 -*- ######### リスト の並べ替え ######### #sort その場でソート listData = ['g', 'f', 'e', 'd', 'c', 'b', 'a'] listData.sort() print(listData) #sorted ソートしたリストのコピーを返す listData = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] listData2 = sorted(listData) print(listData2) |
実行結果
['a', 'b', 'c', 'd', 'e', 'f', 'g']
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
リスト 要素数を取得
len(リスト) で リスト の 要素数 を返します。
1 2 3 4 | # -*- coding: utf-8 -*- ######### リスト 要素数を取得 ######### listData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(len(listData)) |
実行結果
10
リスト の入れ子
リスト の中に リスト を入れることができます。リスト の入れ子です。例では、入れ子の リスト を for文 で表示させています。
1 2 3 4 5 6 7 8 9 | # -*- coding: utf-8 -*- ######### リスト の入れ子 ######### listDataList = [['a', 'b'], [100, 1000], [3.14, 1.41], [True, False]] #表示 print(listDataList) #for文で表示 for value in listDataList: for element in value: print (element) |
実行結果
[['a', 'b'], [100, 1000], [3.14, 1.41], [True, False]]
a
b
100
1000
3.14
1.41
True
False
a
b
100
1000
3.14
1.41
True
False
タグ(=記事関連ワード)
タグ: python, python リスト
日付
投稿日:2017年9月6日
最終更新日:2024年09月05日
最終更新日:2024年09月05日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/python-reference-list/trackback/