Ad
1: 2017-01-05 (木) 13:16:46 njf ソース バックアップ No.1 を復元して編集 現: 2017-01-06 (金) 00:45:19 njf ソース 編集
Line 1: Line 1:
辞書型オブジェクトとリストの相互変換方法を紹介します。 辞書型オブジェクトとリストの相互変換方法を紹介します。
 +使いどころとしては、辞書型は順番を保証しないので、並べ替えしたいときなどにリストに変換してソートする、といった場合です。
-タプルへの変換は「[[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'}
 +
 +タプルからの変換も同様です。


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 36713, today: 1, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF