【问题标题】:Transform an array into a single value inside a dictionary using Python使用 Python 将数组转换为字典中的单个值
【发布时间】:2017-03-11 05:10:26
【问题描述】:

我在 python 中有这本字典:

example = {
    "foo": ["1"],
    "bar": ["1","2"]
}

如何有效地转换并使用 Python 变量示例:

example = {
    "foo": "1",
    "bar": ["1","2"]
}

?

【问题讨论】:

  • 真正想做什么?您可以在阅读字典时处理此问题。
  • 我从一个 url 读取数据,并得到一个具有该格式的字典。我需要将此类字典转换为 JSON,并查看 postgres 中的其他 JSON 字段是否包含该数据。 *我正在使用 django

标签: python arrays json


【解决方案1】:

假设 dict 不是嵌套的,你可以遍历 dict 来修改它:(Python 3,见 here 的区别)

for key, value in example.items():
  if isinstance(value, list) and len(value) == 1:
    example[key] = value[0]

【讨论】:

  • 这并不慢,但由于这是 Python,它不如 C 快。
  • 我只是在询问是否有更有效的方法,例如,已经用 C 构建的模块
  • 不,如果你喜欢 C 扩展,你可能需要手工制作。
猜你喜欢
  • 1970-01-01
  • 2017-07-21
  • 2011-03-13
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2014-02-19
相关资源
最近更新 更多