创建一个具有理解力的字典

新手上路,请多包涵

我可以使用列表理解语法来创建字典吗?

例如,通过迭代键和值对:

 d = {... for k, v in zip(keys, values)}

原文由 flybywire 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 418
2 个回答

使用 字典理解(Python 2.7 及更高版本):

 {key: value for (key, value) in iterable}


或者,对于更简单的情况或较早版本的 Python,请使用 dict 构造函数,例如:

 pairs = [('a', 1), ('b', 2)]
dict(pairs)                         #=> {'a': 1, 'b': 2}
dict([(k, v+1) for k, v in pairs])  #=> {'a': 2, 'b': 3}

给定单独的键和值数组,将 dict 构造函数与 zip 一起使用:

 keys = ['a', 'b']
values = [1, 2]
dict(zip(keys, values))  #=> {'a': 1, 'b': 2}

 2) "zip'ped" from two separate iterables of keys/vals
dict(zip(list_of_keys, list_of_values))

原文由 fortran 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 Python 3 和 Python 2.7+ 中,字典推导式如下所示:

 d = {k:v for k, v in iterable}

对于 Python 2.6 或更早版本,请参阅 fortran 的答案

原文由 SilentGhost 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏