こんばんは!auです
今日はおでかけした後に少しになってしまいましたが、Pythonの本を読みながら勉強をしました!
そこでは「リスト型」と「タプル型」があり、リスト型については"[要素1, 要素2...]"のうようになっているというのは予測がつくのですが、タプル型って何だろう・・・という感じでした。
そこで、自分なりにまとめてみました!
タプル型って何だろう?
タプル型とは、組のことであり、(要素1, 要素2, 要素3...)の、()の部分である。
*リスト型は[]
>>> tuple = ('apple', 2, '8')
>>> print(tuple)
('apple', 2, '8')
なら、リスト型とタプル型の違いは?
違いは、「リスト型は書き換え可能で、タプル型は書き換え不可能」なところである。
リスト型
>>> food = ['apple', 'orange', 'grape']
>>> food[0] = 'suika'
>>> print(food)
['suika', 'orange', 'grape']
タプル型
>>> food_tuple = ('apple', 'orange', 'grape')
>>> food_tuple[0] = 'suika'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> print(food_tuple)
('apple', 'orange', 'grape')
*エラーの意味:タプル型には要素を追加することはできません。
ではタプル型にできてリスト型にできないことは?
辞書キーとしてタプル型は利用できるが、リスト型は辞書キーとして登録することができない。
辞書型って?
辞書型は、見出しと内容がセットになっていることが特徴である。
{見出し:内容, 見出し1:内容...}
こういった感じに、内容と見出しがセットになっており、セットとして使える!
例えば...
>>> diary.values()
dict_values(['2'])
>>> diary = {}
>>> key = ('Saturday')
>>> diary[key] = 'Rainy'
>>> print(diary)
{'Saturday': 'Rainy'}
>>> diary.keys()
dict_keys(['Saturday'])
>>> diary.values()
dict_values(['Rainy'])
メモ:メソッド「.keys」はタプル型の「見出し」を表示し、「.values」は「内容」を表示する
>>> key = ('Saturday',20170217)
>>> diary[key] = 'Rainy'
>>> print(diary)
{('Saturday', 20170217): 'Rainy'}
気づいた点:2つ以上の見出し(,で区切る)と、タプルの中身は()でくくられる!
>>> key2 = ('Sunday', 20170218)
>>> diary[key2] = Unkouwn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Unkouwn' is not defined
>>> diary[key2] = unkouwn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'unkouwn' is not defined
>>> diary[key2] = 'Unkouwn'
>>> print(diary)
{('Saturday', 20170217): 'Rainy', ('Sunday', 20170218): 'Unkouwn'}
エラーは''でくくり忘れたのが原因でした。
見出し2を追加する際は、key2という変数に代入して入力することができた。
>>> diary['Saturday', 20170217]
'Rainy'
>>> diary['Saturday']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Saturday'
>>> diary['Rainy']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Rainy'
タプル型に登録してあるキー(内容)を呼び出すには、見出しの名前をすべて入力しなければならないということがわかった。片方だけや、キーを入力しても呼び出すことはできなかった。(逆は不可)
もし、やり方等を知っている人がいたら教えてほしいです。
*キーを呼び出すときは[見出し]にする!
今日は今まで知らなかったタプル型について学ぶことができました!
何となくですか、To Do リストを作成する際に使えるんじゃないかな?と思えるような内容でした!
モンハンしたいです。