Ad

辞書型オブジェクトとリストの相互変換方法を紹介します。 使いどころとしては、辞書型は順番を保証しないので、並べ替えしたいときなどにリストに変換してソートする、といった場合です。

辞書型からタプルへの変換は、リストとタプルが相互変換可能なので、リストを経由して行います。リストからタプルへの変換は「Python​/リストとタプル」を参照してください。

辞書からリストへ anchor.png Edit

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ではイテレータを返すのでリストに変換する必要があります。

Page Top

リストやタプルから辞書へ anchor.png Edit

「dict」を使います。

listData = [('A', 'a'), ('B', 'b'), ('C', 'c')]

print dict(listData)

結果

{'A': 'a', 'C': 'c', 'B': 'b'}

タプルからの変換も同様です。


Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 13758, today: 2, yesterday: 0
Princeps date: 2017-01-05 (Thu) 13:16:46
Last-modified: 2017-01-05 (Thu) 15:45:19 (JST) (865d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF