お世話になっております。
Pythonの辞書のデータの扱いで躓いておりまして質問しました。
やりたいことは辞書の値にあるリストから共通の値を抜き出し、その値をキーにし、前のキーをstr型にして新しい辞書型を作りたいということです。
具体的には下記のコードのようなことです。
Python
1data_dic = {'k1': ['str1', True], 'k2': ['str1', False], 'k3': ['str2', True], 'k4': ['str2', False], 'k5': ['str1', True],'k6': ['str2', False]}
という辞書があり、それを
Python
1new_data_dic = {'str1,True': ['k1', 'k5'], 'str1,False': ['k2'], 'str2,True': ['k3'], 'str2,False': ['k4', 'k6']} 2
というような形の辞書にしたいです。
プロジェクトの関係上、Pythonは2.7を使用しています。
分かりましたら、お答えいただけたら大変ありがたいです。
リストを辞書のキーにすることはできません。
試しにnew_dictを直接定義してみて下さい。
ご指摘ありがとうございます。
new_dictをstrに修正しました。
変数名dictは「class 'dict'」を上書きしてしまうので止めるべきです。
meg_様
ご指摘ありがとうございます。
変数名を修正させていただきました。
これで実際にdata_dic から抜き出しするのはどうでしょうか?
例えば['str1', True]を'str1,True'に変換するコードは書けますか?
1点確認です。
'str1,False':['k2','k6']となっていますが、'str1,False':['k2']の間違いではありませんか?
何度も失礼しました。
new_data_dic の値はstr1,False': ['k2']です…。
['str1', True]を'str1,True'は元のコードからの入力の仕方の都合上、リストに入れる仕様にしたいです。
回答1件
あなたの回答
tips
プレビュー