转换为列表理解

use*_*962 0 python

这是我的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]
Run Code Online (Sandbox Code Playgroud)

我们可以使用列表推导或类似的东西编写上面的代码

new_d[key] = old_d[key] for key in mylist 
Run Code Online (Sandbox Code Playgroud)

Bre*_*arn 6

在Python 2.7及更高版本中,您可以使用dict理解:

new_d = {key: old_d[key] for key in myList}
Run Code Online (Sandbox Code Playgroud)

在Python 2.6及更低版本中,您没有dict理解必须使用dict生成器或列表理解:

new_d = dict((key, old_d[key]) for key in myList)
Run Code Online (Sandbox Code Playgroud)