Pythonのお勉強 Part31at TECHPythonのお勉強 Part31 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト34:デフォルトの名無しさん 09/01/03 21:39:01 改行がくずれたので、、、 ans = [] for elem in list1: for key, vals in maps.items(): if elem in vals: ans.append(key) else: ans.append(elem) print ans 35:デフォルトの名無しさん 09/01/03 21:50:26 >>33 変換したい方向とmapsのデータの持ち方が逆なので意図がちょっと分かりにくかった list1 = ['cat', 'dog', 'spam', 'egg'] maps = {'animal': ['cat', 'dog']} reverse_maps = dict((x, key) for key, xs in maps.iteritems() for x in xs) print [ reverse_maps.get(x) or x for x in list1 ] こういうことでいいのかな? 36:デフォルトの名無しさん 09/01/03 22:08:25 >>35 やばい。目から鱗どころじゃないっす。。 マップをつくるなんて、、。 しかも、以前valuesだったものをkeyにして、、なんて思いも浮かばなかった。 ありがとうございます! しかし、実質1行とは。。予想以上でした。 これより最短はないですね。 ありがとうございます! 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch