【python】組織内のごたごたは早めに解決しておきたい【リスト・タプルの使い方】

みなさん、こんにちはケンケンです。

 

Pythonの基本事項をお伝えしています。

今回は、リストとタプルについてお話しします。

データをまとめておいておく大きな箱のようなものです。

これをうまく使いこなすことでプログラムの幅が広がるのでしっかり理解しておきましょう。

 

今回も動物たちに協力してもらって勉強を進めていきます。

よろしくお願いします。

前回の復習をしたい方は以下の記事をご覧ください。

前回復習記事

みなさん、こんにちはケンケンです。   Pythonの基本をお送りしています。 前回は、for文と条件分岐の基本をお伝えしました。 前回の記事は以下をご覧ください。 [sitecard subtitl[…]

 

動物たちに名簿を作ってあげよう

Pythonにはリストという機能があります。

リストにデータをまとめておくことで、そのデータに対して一括で処理することが可能です。

今まで変数にはひとつのデータしか格納してきませんでしたが、

リストを使うと5個でも10個でもまとめて変数に格納することも可能です。

それでは早速リストを作ってみましょう。

リストの作り方

複数のデータを一括で格納できるリストですが、作成方法は簡単です。

[ ]で囲んだデータを「,(カンマ)」で区切るだけです。ちなみに[ ]はブラケットと言います。

 

▶リストの書式

変数 = [ 要素1,要素2,要素3,要素4, ………]

リストの中身のことを要素と言います。要素のデータ型はなんでもかまいません。

複数のデータ型をひとつのリストに入れることも可能です。

 

▶リストの基礎(int型)

num = [100, 200, 300, 400, 500]

 

▶リストの基礎(str型)

letter = ['よろしく', 'お願い', 'します。']

 

▶リストの基礎(混合型)

mix = [100, 'お願い', 200, 'よろしく']

上記のように様々なデータ型を同じリストに格納することが可能です。

 

データが入っていないリストの作り方

リストに何を入れるか決まっていないけど箱だけ作っておきたいこともあります。

 

そんなときは空のリストを作成しておいて、そこにデータを投入していくことが可能です。

 

▶空リストの書式(ブラケット)

変数 = [ ]

簡単ですね。ブラケットのみコードに書き込めば終了です。

他にlist関数を使ってリストを作ることもできます。今回は、ブラケットで作っていくので以下は参考までに。

 

▶空リストの書式(list関数)

変数 = list( )

 

さあ、空のリストの作り方は分かりましたが、何もデータのないリストでは意味がありません。

次はデータの追加方法をお伝えします。

リストにデータを追加するときはappendメソッド

▶appendメソッドの書式

リスト型オブジェクト.append(追加したい要素)

上記の方法でリストにデータを追加できます。

リスト型オブジェクトとはリストを格納した変数のことと解釈してもらって良いです。

 

動物の名簿を作る

それでは、空のリストを作成してそこにappendメソッドを使って動物たちの名前を格納していきましょう。

その前に、リストに加わってくれる動物達から一言あいさつしてもらいましょう。

 

よろしくね!
こんにちワン!
よろしくニャ!
ケロっ!
みんなよろしくね!

 

▶動物達のリストの作り方

animals = []
animals.append('ペンギン')
print(animals)
animals.append('犬')
print(animals)
animals.append('猫')
print(animals)
animals.append('カエル')
print(animals)

1行目でブラケットで作ったリストを変数animalsに格納しています。

2行目のanimals.append(‘ペンギン’)で、ペンギンという要素を変数animalsに追加しています。

3行目でペンギンだけ格納されたリストが表示されます。

4行目で犬を追加し、5行目でペンギンと犬が格納されたリストを表示します。

以下同様です。

それでは、コードを実行してみましょう。

これで、リストを作ることができました。

次はこのリストを使って動物たちにプログラム内であいさつしてもらいましょう。

 

for文を使ってリストをひとつずつ取り出してみよう

繰り返し処理のfor文とリストを組み合わせることで、リストをひとつずつ取り出して処理することができます。

▶動物たちがあいさつするコード

for hello in animals:
    print(hello + '「こんにちは、よろしくおねがいします!」')

先ほどのコードに追加してコードを書いてください。

実行すると、

できましたか?

内容は難しくないと思いますが、変数animalsがfor~in以下のオブジェクトとして使えることを覚えておいてください。

風紀を乱したら除隊してもらいます。

突然ですが、カエル君がたばこを吸ってしまったようです。

風紀を重んじるケンケン隊としては見過ごすわけにはいきません。

残念ながらカエル君には除隊してもらわないといけません。

 

何かの間違いだよ!やってないよ!

▶popメソッドの書式

pop( インデックス )

インデックスで指定した位置のデータを削除します。

インデックスを指定しなかったときはリストの最後のデータが削除されます。

 

▶カエル君除隊コード①

animals = ['ペンギン','犬','猫','カエル']
animals.pop()
print(animals)

カエル君はリストの最後にいたためインデックスの指定の必要がありませんでした。

コードを実行すると

 

▶removeメソッドの書式

リスト.remove( 削除したい値 )

removeメソッドを使うことで、削除したい値をピンポイントで指定することができます。

▶カエル君除隊コード②

animals = ['ペンギン','犬','猫','カエル']
animals.remove('カエル')
print(animals)

この方法でもリストからデータを削除することができます。

 

みんな、さようなら・・・

 

疑いが晴れたのでカエル君復帰です

ケンケン隊を除隊になったカエル君でしたが、ぬれ衣であったことが分かりました。

そこで、再度入隊してもらうことになりました。

 

また入隊するケロ!

 

普通また入ろうと思わないよね(-_-;)

 

ん?

 

リストに要素を追加する方法はappendメソッドだけではありません。

以下で紹介します。

▶insertメソッドの書式

リスト.insert( インデックス,追加するデータ)

このメソッドは任意の位置に要素を追加することができます。

▶カエル君復帰コード①

animals = ['ペンギン','犬','猫']
animals.insert(1,'カエル')
print(animals)

インデックスで「1」を指定しているので2番目に追加されるはずです。

では実行してみましょう。

 

▶extendメソッドの書式

リストA.extend(リストB)

このメソッドは他のリストの要素を追加することができます。

仮に除隊したカエル君を「jotai」リストに格納していたことにしてコードを書いてみましょう。

▶カエル君復帰コード②

animals = ['ペンギン','犬','猫']
jotai = ['カエル']
animals.extend(jotai)
print(animals)

これで、カエル君は復帰できるはずです。

コードを実行してみましょう。

▶+=演算子を使う方法

リストA += リストB

この方法はexpendメソッドと同じ意味になります。他のリストの要素を追加することができます。

▶カエル君復帰コード③

animals = ['ペンギン','犬','猫']
jotai = ['カエル']
animals += jotai
print(animals)

コードを実行してextendメソッドのときと同じ結果になることを確認しておいてください。

 

みんな、またよろしくね!

 

カエル君はいつもケロっとしてるニャ

 

隊員の数を数えよう

無事カエル君が復帰したので、ここで今いるケンケン隊の隊員の数を数えたいと思います。

▶len関数の書式

len(数えたい値)

len関数はリスト内の要素数も数えることができます。

▶隊員の数を数えるコード

animals = ['ペンギン','犬','猫', 'カエル']
print(len(animals))

実行結果は「4」になります。

これで隊員数を把握することができました。

番号!
1!
2!
3!
ケロっ!
カエル君は自由でいいな

 

隊員の名前が重複してないかを確認しよう

名簿に名前が重複していないかい確認する方法をご紹介します。

▶countメソッドの書式

リスト.count( 数えたい値)

▶カエル君が重複していないか確認するコード

animals = ['ペンギン', '犬', '猫', 'カエル', 'カエル']
print(animals.count('カエル'))

countメソッドを使って重複を確認することができます。

上記コードを実行すると、結果は「2」になります。

これで重複を確認できます。

ケロっ!
ケロケロ!
あれ?重複してる!

データを固定したいならイミュータブルなタプルで

複数の要素を持つかたまりはリストだけではありません。

タプルというものがあります。

リストとの違いは一度作ったデータに追加削除ができません。これをイミュータブルといいます。

逆に変更可能なリストはミュータブルといいます。

▶タプルの書式

変数 = ( 要素1, 要素2, 要素3, 要素4・・・)

 

タプルは「()カッコ」で囲んで作成します。

カッコはなくても作れます。

では、なぜリストと似ていて変更不能なタプルが必要なのでしょうか。一見必要ないように見えますが、

いくつかメリットがあります。

▶タプルのメリット

  1. 誤って要素が書き換えられる心配がない
  2. リストよりパフォーマンスが高い
  3. 辞書のキーとして使える

上記のようなメリットがあります。

③の辞書は次回説明します。

タプルを出力して確認しておきましょう。

▶タプルを作るコード

animals = ('ペンギン', '犬', '猫', 'カエル')
print(animals)

タプルではデータの変更ができないことは確認しておきましょう。

そして、どのようなエラーが発生するかも合わせて確認しておいてください。

 

まとめ

いかがでしたか。

今回は、データをひとつにまとめておく方法をご紹介しました。

そして、カエル君にはひどいことをしてしまいました。

カエル君ごめん・・・

 

次回は、辞書機能をお伝えする予定です。

辞書を理解すると、より複雑なデータ管理が可能になりますのでお楽しみに。

それではまた次回お会いしましょう。

次回記事

みなさん、こんにちはケンケンです。   Pythonの基本事項についてお伝えしています。 前回は、リストとタプルについてお話ししました。 前回の記事は以下から確認ください。 [sitecard sub[…]

 

Python基礎~旅立ち編~はこちら

 

世界陸上見て寝るケロ。それだけが僕のAll my treasures!

 

冤罪で一度辞めさせられたとは思えない陽気さ・・・