在 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
还有更好的办法吗?
In Python 2.7, I'm used to collect key/value pairs from an array and return it as a hash:
return { u.id : u.name for u in users }
But it turns out it does not work in Python 2.6:
return { u.id : u.name for u in users }
^
SyntaxError: invalid syntax
How can I avoid doing something like this?
values = {}
for u in users:
values[u.id] = u.name
return values
Is there any better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需将构造元组序列的生成器表达式传递给 dict 的构造函数即可,
这将创建与后续版本中的字典理解相同的字典。
Just pass a generator expression that constructs a sequence of tuples to the constructor for
dict
This will create the same dictionary as the dictionary comprehension in later versions.
dict
构造函数采用可迭代的对。The
dict
constructor takes an iterable of pairs.