リスト
- 複数の要素を箱の中に入れれる。
- .append()で最後に要素を追加できる
- .pop()で最後の要素を取り出せる(利用しないなら削除と同じ)できる
入力
fruit = ["apple", "orange", "grape"]
print(fruit)
fruit.append("banana") # これで"banana"が追加される
print(fruit)
fruit.pop() # これで"banana"が消える
print(fruit)
print(fruit[1])
出力
['apple', 'orange', 'grape']
['apple', 'orange', 'grape', 'banana']
['apple', 'orange', 'grape']
orange
タプル
- リストと似ているが内容を変更できない
- あまり使わない
- [] ではなくて ()で囲う
入力
fruit = ("apple", "orange", "grape")
print(fruit)
fruit.append("banana") # 変更できないのでエラーが出る
ディクショナリー
- キーとバリューで要素を管理する
- キーによってバリューを管理できるので順番を気にしなくてよい(リストは先頭からの順番で値を管理しているがディクショナリーでは順番は気にしなくてよい)
入力("fruit"や"color"がキー、"apple"や"red"がバリュー)
data = {"fruit":"apple","color":"red"}
print(data["fruit"])
出力
apple
- ディクショナリーの中のバリューにリストを入れることもできる
例
data = {"fruit":["apple", "orange", "grape"]}
print(data["fruit"])
出力
['apple', 'orange', 'grape']
- ディクショナリーのバリューを変数に代入する場合はコピーでなく参照になる。
- 参照先の変数を変更すれば参照元を変更できる。
入力
data = {"fruit":["apple", "orange", "grape"]}
a = data["fruit"]
a.append("banana")
print(data)
出力
{'fruit': ['apple', 'orange', 'grape', 'banana']}
疑問
- 何故ディクショナリーのバリューを何かの変数に代入する時は参照代入になるのか?