在Python 2.7中,我习惯于从数组中收集键/值对并将其作为哈希返回:
return { u.id : u.name for u in users }
但事实证明它在Python 2.6中不起作用:
return { u.id : u.name for u in users }
^
SyntaxError: invalid syntax
我怎么能避免这样做?
values = {}
for u in users:
values[u.id] = u.name
return values
还有更好的方法吗?
答案 0 :(得分:10)
只需将构造一系列元组的生成器表达式传递给dict
return dict((u.id, u.name) for u in users)
这将创建与更高版本中的字典理解相同的字典。
答案 1 :(得分:1)
return dict((u.id, u.name) for u in users)
答案 2 :(得分:1)
dict
构造函数采用可迭代的对。
return dict((u.id, u.name) for u in users)