在Python 2.6中收集键/值对

时间:2010-12-22 22:07:56

标签: python dictionary python-2.6

在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

还有更好的方法吗?

3 个答案:

答案 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)