今さらPython3 (18) - データ構造の続き

この本の3章の最後の辺りを読んでます。

入門 Python 3

入門 Python 3

>>>
>>> marx_list = ['Groucho', 'Chico', 'Harpo']
>>> marx_tuple = 'Groucho', 'Chico', 'Harpo'
>>> marx_dict = {'Groucho': 'banjo', 'Chico':'piano', 'Harpo':'harp'}
>>> marx_list[2]
'Harpo'
>>> marx_tuple[2]
'Harpo'
>>> marx_dict['Harpo']
'harp'

各要素にアクセスするときは[]を使えと言いたいだけなのね。

>>> marxes = ['Groucho', 'Chico', 'Harpo']
>>> pythons = ['Chapman', 'Cleese', 'Gilliam', 'Jones', 'Palin']
>>> stooges = ['Moe', 'Curly', 'Larry']
>>>
>>> tupple_of_lists = marxes, pythons, stooges
>>> tupple_of_lists
(['Groucho', 'Chico', 'Harpo'], ['Chapman', 'Cleese', 'Gilliam', 'Jones', 'Palin
'], ['Moe', 'Curly', 'Larry'])
>>> list_of_lists = [marxes, pythons, stooges]
>>> list_of_lists
[['Groucho', 'Chico', 'Harpo'], ['Chapman', 'Cleese', 'Gilliam', 'Jones', 'Palin
'], ['Moe', 'Curly', 'Larry']]
>>>

複数のリストを1つにマージする時の話で、カンマ区切りでリストを並べれば、1つのタプルになるし、[]でくくってあげれば、リスト(の中にリスト)になるよという話。

>>> dict_of_lists = {'Marxes': marxes, 'Pythons': pythons, 'Stooges': stooges}
>>> dict_of_lists
{'Marxes': ['Groucho', 'Chico', 'Harpo'], 'Stooges': ['Moe', 'Curly', 'Larry'],
'Pythons': ['Chapman', 'Cleese', 'Gilliam', 'Jones', 'Palin']}
>>>

これは辞書の値の部分にリストを持ってきているケース。

最後に出てくるのは、辞書のキーはイミュータブルじゃなきゃダメ。でも裏を返すとタプルならキーにできるよという話だね。

>>> houses = {
... (44.79, -93.14, 285): 'My House',
... (38.89, -77.03, 13): 'The White House'
... }
>>> houses
{(38.89, -77.03, 13): 'The White House', (44.79, -93.14, 285): 'My House'}
>>>

これで第3章終了。次の記事で課題に取り組みましょ。

(つづく)