リストはpythonのデータ型の一つ。今までやったforやifなどとリストを組み合わせると、いろんなことができるようになるので、使い方をマスターしよう。
普通、変数には1つのデータしか入れることができない!
ikemen = "ricky"
確かにリッキー程のイケメンはほかにいないけど、世の中イケメンとされる人はそれなりにいる。こんな感じで、複数のイケメンを一つにまとめられたらいいけど。。。
ikemen = "ricky" "yoshida" "chikara" "yoshida chikara" "rickysensei"
# 実はこれ、エラーにはならず、全部が合体した一つの文字になっちゃいますが、こういう書き方はほとんどされないので、覚えないほうがいいかも!!
5人のイケメンを同じikemen_listという変数に入れてみよう。pythonでは、こう書きます。
ikemen_list = ["ricky", "yoshida", "chikara", "yoshida chikara", "rickysensei"]
こんな感じで、複数のデータを一つの変数に入れられるデータ型をリストというよ。複数のデータを一つにまとめられるデータ型はほかにもいくつかあるけど、そのうちの一つ。
リストの書き方の特徴としては、
・大かっこ [ ] で囲う
・中のデータを カンマ , で分ける
リストを書くと横に長くなりがちだから、こういう書き方もできます。
ikemen_list = [
"ricky",
"yoshida",
"chikara",
"yoshida chikara",
"rickysensei"
]
type関数でリストのデータ型を確認してみよう
ikemen_list = ["ricky", "yoshida", "chikara", "yoshida chikara", "rickysensei"]
print(type(ikemen_list))
出力結果:
リスト型の大きな特徴は以下の通り。
先ほどのリストだとわかりにくい(?)から、リッキーの好きな食べ物リストを作ってみよう。入るデータはすべて文字列型(str)なので、" " で囲うことを忘れずに。
※先生はレジュメが見やすいので縦積みで書きますが、皆さん横積みでいいです。
ricky_favorite_food = [
"ラーメン",
"つけめん",
"イケメン",
]
このデータから、最後の「イケメン」だけ取り出してprintで表示したい。
リストの中のデータには常に番号がついてる。取り出し方はこんな感じで
リスト名[番号]
リスト名(変数名)の横に大かっこ付きの番号を書いてあげればOK。この番号のことを、「インデックス番号」と呼びます
「イケメン」は3番目にあるから、これでいける!
ricky_favorite_food = [
"ラーメン",
"つけめん",
"イケメン",
]
print(ricky_faborite_food[3])
実行結果
あらら?
プログラミングでは、ものを0からかぞえ始めることがほとんど。例えば上のコードだと、ra-
ラーメン:0番目
つけめん:1番目
イケメン:2番目
となるから、イケメンを表示したい場合は
ricky_favorite_food = [
"ラーメン",
"つけめん",
"イケメン",
]
print(ricky_faborite_food[2])
となる。
なんで0から数えるかというと、そのほうがコンピュータ的にいろいろと都合がいいから、というざっくりした説明になるけど、まあそういうもんだ、と思っておいてくれればOK。慣れてくれたまえ
なので、プログラマーではない人向けのアプリを作る時に、1から始まるバージョンに直す必要がある時がある!
ricky_favorite_food = [
"ラーメン",
"つけめん",
"イケメン",
]
print(f"1番:{ricky_faborite_food[0]}")
print(f"2番:{ricky_faborite_food[1]}")
print(f"3番:{ricky_faborite_food[2]}")
pythonの特徴として、リストにはいろんなデータをいれることができるんだけど、これって実はあんまりよくないリストの使い方。
例えば次のようなリストを見てみよう
# 良くない例
ricky_data["イケメン", 180, 78, 28 ]
これ、リッキーの各種データを一つのリストに入れたものだけど、どれがなんのデータかわかりづらい(左から、顔面、身長、体重、足のサイズ)。
文字列のデータも数字のデータもごちゃまぜに入ってるし、メモ書きとかコメント溶かしてないと、どれがなんのデータかわかんない。
こういう場合は、
ricky_ganmen = "イケメン"
ricky_shincyou = 180
# 以下省略
みたいに別々の変数にするのが、次回以降学習する「辞書」というのを使って、リストではないものを使うのも選択肢の一つ。
リッキーの呼び名をリスト形式にして、ricky_namesという変数に入れよう
ricky_names = [
"吉田",
"力",
"リッキー",
]
これらの名前全てに同じ処理「◯◯先生はイケメン」という出力にするとき、
ricky_names = [
"吉田",
"力",
"リッキー",
]
for i in ricky_names:
print(f"{i}先生はイケメン")
とすることで、リスト内の全部に同じ処理を加えることができる
めちゃくちゃ使う機能なので、使いなから覚えていこう
リストに要素を加える | リスト.append(加えたい要素) |
|
リストを全消去 | リスト.clear() |
|
リストの要素数を数える | リスト.count() |
|
リストの◯番目の要素を削除 | リスト.remove(◯) |
|
他にもいろいろあるよ
pythonリストのメソッド
pythonのリストの中身は基本的にはいつでも変更ができる。例えばこのリストの「ブサメン」の部分のを「イケメン」に変えたいとき、インデックス番号を指定してこんなふうに変更が可能
ricky = ["ブサメン", "超イケメン", "マジイケメン"]
ricky[0] = "イケメン"
# ricky → ["イケメン", "超イケメン", "マジイケメン"]
ricky_listの中に「イケメン」があるかどうかのチェック
ricky_list["やさしい", "イケメン", "かっこいい"]
if "イケメン" in ricky_list:
print("あたりめーよ!")