要約
本日は、Pythonで以下を学びました。
コンテナ
Python における「関連するデータをグループにして、まとめて1つの変数として扱える」しくみ。
コンテナにはいくつかの種類があり、「リスト」「ディクショナリ」「タプル」「セット」の4つが代表的。
リストの定義、要素参照・合計・追加・削除・変更
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
license.append('データエンジニア')
license.remove('看護師')
license[0] = '普通自動車第一種運転免許'
print(f'私の持っている資格は {license} です!')')
はじめに
前回は「データ型」について学びました。
今回は、Pythonのコンテナとリストについて学習します。
コンテナ
コンテナとは
これまでは、「個々の独立したデータ」として扱ってきました。
その場合、データが増えるたびにコードを修正しなければならなかったり、
コードが長く、複雑化してしまうなどの問題があります。
そこで、ほとんどのプログラミング言語では、
「関連するデータをグループにして、まとめて1つの変数として扱える」しくみが用意されています。
このようなしくみをデータ構造(data structure)といい、
Pythonではコンテナ(container)またはコレクション(collection)と呼びます。
コンテナにはいくつかの種類があり、「リスト」「ディクショナリ」「タプル」「セット」の4つが代表的です。

コンテナにも種類があるんですね!
リスト
リストの特徴
リスト(list)とは、複数の値を1列に並べて管理するコンテナです。
リストに格納されているそれぞれの値を要素(element)といい、
先頭から順に添え字またはインデックス(index)と呼ばれる管理番号が自動で振られます。
また、添え字は0から始まります。
したがって、添え字の最大値は要素の数よりも1つ少ない数になっています。
添え字は0から始まる
最初の要素を示す添え字は0であり、最後の添え字は要素の数より1つ少ない数になる。



とあるn番目の要素を指定するときには、添え字は(n – 1)となりそうですね!
リストの作成
リストは[](角カッコ)の中にカンマ区切りで値を並べて、1つのリストを生み出しています。
リストの定義
変数 = [要素1 , 要素2 , 要素3 , ・・・]
※要素には、数値や文字列などを指定できる。
リストを作成してみましょう。
#リストを作成していきます
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
print(f'持っている資格は {license} です!')


変数と同じく、リストにも型の定めはありません。
したがって、1つのリストに対して、文字列と数値など、異なるデータ型の値を格納できます。
リスト内の特定の要素だけを参照したい場合は、
変数名の直後に[](角カッコ)で囲んで添え字を記述します。
リストの要素を参照
リスト[添え字]
※割り振られていない添え字を指定するとエラーになる。
リストの要素を参照してみましょう。
#3番目の資格を参照してみます
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
n = 3 #n番目
print(f'{n}番目の持っている資格は {license[n - 1]} です!')





少し応用して、n番目を使用したコードにしています!
リスト要素の合計と要素数の取得
Pythonには、リストなどのデータの集まりに対して、合計値を求める sum関数 と
要素の数を求める len関数 がある。
sum関数
sum(リスト)
※すべての要素を合計した値に置き換わる。
※文字列を格納しているリストには使えない。
※後述するタプルやセットに対しても使用できる。
len関数
len(リスト)
※リストの要素数に置き換わる。
※後述するディクショナリ、タプル、セットに対しても使用できる。



sum関数はエクセルと同じですね!
ただし、average関数はないため、sum() / len() で求める必要があるみたいです!
sum関数、len関数を使って、例文を作ってみましょう。
#sum関数,len関数を使ってみます
scores = [88 , 90, 95]
total = sum(scores)
avg = total / len(scores)
print(f'合計{total}点、平均{avg}点です!')


sum関数とlen関数を使って、averageまで出力することができました。
リスト要素の追加・削除・変更
一度定義したリストにappend関数を使用して、要素を追加できます。
追加される位置はリストの末尾です。
なお、この関数は、リスト.append()の形で使用するタイプの関数なので注意しましょう。
リストの末尾に値を追加
リスト.append(リストに追加したい値)
※指定した値が、リストの末尾に新たな要素として追加される。
また、remove関数を使うと指定した要素をリスト内から削除できます。
この関数もリスト.remove()の形で使います。
リストから指定した値を削除
リスト.remove(リストから削除したい値)
※削除した要素の後ろにある要素は前に詰められる。



remove関数を使うと、その後ろにある値をn番目で指定していたときにズレそうですね・・・。
しっかり、名称で指定しないといけないのだろうか・・・。
リスト内の特定の要素の内容を変更するには、添え字を指定して代入します。
リストの要素を変更
リスト[変更要素の添え字] = 変更後の値
リスト要素の追加・削除・変更を使ってみましょう。
#リスト要素の追加・削除・変更を行います。
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
license.append('データエンジニア')
license.remove('看護師')
license[0] = '普通自動車第一種運転免許'
print(f'私の持っている資格は {license} です!')


問題なくリスト要素の追加・削除・変更を行うことができました。



リストの中身をしっかり把握したうえで追加・削除・変更を行うか、
または追加のみ行い、必要なデータを引っ張る方が無難かな・・・?
この他にも、リストでは高度な要素の指定方法があります。
スライスによる範囲指定
リスト変数[A : B]
※添え字がA 以上 B 未満の要素を参照する部分リストに評価される。
※A : と指定すると、添え字がA以上のすべての要素を参照する。
※: B と指定すると、添え字がB未満のすべての要素を参照する。
※: のみを指定すると、すべての要素を参照する。
負の数による指定
リストの要素は、先頭からだけでなく、末尾からの順序でも指定できます。
リストの末尾の要素は添え字 -1 で参照し、その1つ前の要素は -2 で参照します。
まとめ
本日は、Pythonで以下を学びました。
コンテナ
Python における「関連するデータをグループにして、まとめて1つの変数として扱える」しくみ。
コンテナにはいくつかの種類があり、「リスト」「ディクショナリ」「タプル」「セット」の4つが代表的。
リストの定義、要素参照・合計・追加・削除・変更
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
license.append('データエンジニア')
license.remove('看護師')
license[0] = '普通自動車第一種運転免許'
print(f'私の持っている資格は {license} です!')
次回は「ディクショナリ」を扱っていきます。



覚えることが多くて大変ですが、着実にコードが書けるようになってきているのを感じます!