1: 2017-01-05 (木) 13:16:46 njf |
現: 2017-01-06 (金) 00:45:19 njf |
| 辞書型オブジェクトとリストの相互変換方法を紹介します。 | | 辞書型オブジェクトとリストの相互変換方法を紹介します。 |
| + | 使いどころとしては、辞書型は順番を保証しないので、並べ替えしたいときなどにリストに変換してソートする、といった場合です。 |
| | | |
- | タプルへの変換は「[[Python/リストとタプル]]」を参照してください。 | + | 辞書型からタプルへの変換は、リストとタプルが相互変換可能なので、リストを経由して行います。リストからタプルへの変換は「[[Python/リストとタプル]]」を参照してください。 |
| | | |
| *辞書からリストへ [#k10fa8ff] | | *辞書からリストへ [#k10fa8ff] |
| + | |
| + | ver2.7なら「items」を使います。 |
| + | |
| + | dictData = {'A':'a','B':'b','C':'c'} |
| + | |
| + | print dictData.items() |
| + | |
| + | 結果 |
| + | [('A', 'a'), ('C', 'c'), ('B', 'b')] |
| + | |
| + | 辞書型オブジェクトは順番が保証されないので注意が必要です。私のテスト環境ではBとCが入れ替わりました。 |
| + | |
| + | ver3ではitemsはイテレータを返すので、さらにリストに変換します。 |
| + | |
| + | print(list(dictData.items())) |
| + | |
| + | 結果 |
| + | [('C', 'c'), ('B', 'b'), ('A', 'a')] |
| + | |
| + | 辞書のキーのみの配列を得るなら「keys」、値のみの配列なら「values」を使います。 |
| + | ver2なら以下のようになります。 |
| + | |
| + | キーは |
| + | print dictData.keys() |
| + | 結果 |
| + | ['A', 'C', 'B'] |
| + | |
| + | 値は |
| + | print dictData.values() |
| + | 結果 |
| + | ['a', 'c', 'b'] |
| + | |
| + | これらもpython3ではイテレータを返すのでリストに変換する必要があります。 |
| + | |
| + | *リストやタプルから辞書へ [#xee63d58] |
| + | |
| + | 「dict」を使います。 |
| + | |
| + | listData = [('A', 'a'), ('B', 'b'), ('C', 'c')] |
| + | |
| + | print dict(listData) |
| + | |
| + | 結果 |
| + | {'A': 'a', 'C': 'c', 'B': 'b'} |
| + | |
| + | タプルからの変換も同様です。 |
Counter: 36970,
today: 4,
yesterday: 0