在 Python 2.6 中收集键/值对

发布于 2024-10-09 00:35:00 字数 399 浏览 3 评论 0原文

在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

放飞的风筝 2024-10-16 00:35:00

只需将构造元组序列的生成器表达式传递给 dict 的构造函数即可,

return dict((u.id, u.name) for u in users)

这将创建与后续版本中的字典理解相同的字典。

Just pass a generator expression that constructs a sequence of tuples to the constructor for dict

return dict((u.id, u.name) for u in users)

This will create the same dictionary as the dictionary comprehension in later versions.

烟织青萝梦 2024-10-16 00:35:00
return dict((u.id, u.name) for u in users)
return dict((u.id, u.name) for u in users)
最近可好 2024-10-16 00:35:00

dict 构造函数采用可迭代的对。

return dict((u.id, u.name) for u in users)

The dict constructor takes an iterable of pairs.

return dict((u.id, u.name) for u in users)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文