0

これは私のPythonコードです

mylist = ['a', 'f', 'z']
old_d = {'a': 'aaa', 'b': 'bbb', 'c': 'ccc', 'f': 'fff', 'g':'ggg', 'z':'zzz'} 
new_d = {}
for key in mylist:
    new_d[key] = old_d[key]

リスト内包表記などを使用して上記のコードを記述できますか?

new_d[key] = old_d[key] for key in mylist 
4

3 に答える 3

6

Python 2.7以降では、dict内包表記を使用できます。

new_d = {key: old_d[key] for key in myList}

dictPython 2.6以下では、ジェネレーターまたはリスト内包表記で使用する必要のあるdict内包表記はありません。

new_d = dict((key, old_d[key]) for key in myList)
于 2012-10-30T18:45:38.243 に答える
2
new_d = {key: old_d[key] for key in mylist}
于 2012-10-30T18:46:42.203 に答える
1

Python2.7以降ではdictの理解を使用できます。

new_d = {k: old_d[k] for k in mylist}
于 2012-10-30T18:45:06.887 に答える