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}

在 Python 2.6 及更低版本中,您没有 dict 理解必须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

您可以在 Python 2.7 和更高版本上使用 dict 理解:

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