如何在字典中创建列表而不重复某些键[Python]?

马修

我想使用id_type_sale和sale_type_description创建一个数组(查看输出中的object_sale_types),保留键email,date,order_id,store,但不要重复(假设它是相同的数据)。

输入值

{
"105": [
    {
        "id_type_sale": 2,
        "email" : null,
        "date" : "2016-05-18",
        "order_id": 105,
        "sale_type_description": "Coffee shop",
        "store": "Ezio store"
    },
    {
        "id_type_sale": 5,
        "order_id": 105,
        "email" : null,
        "date" : "2016-05-18",
        "sale_type_description": "Book shop",
        "store": "Ezio store"
    }
],
"106": [
  {
      "id_type_sale": 3,
      "email" : null,
      "date" : "2016-05-19",
      "order_id": 106,
      "sale_type_description": "Food",
      "store": "Ezio store"
  },
  {
      "id_type_sale": 8,
      "order_id": 106,
      "email" : null,
      "date" : "2016-05-19",
      "sale_type_description": "Articles",
      "store": "Ezio store"
  }]}

预期输出

{
"105":[
    {
        "email":null,
        "date":"2016-05-18",
        "order_id":105,
        "store":"Ezio store",
        "object_sale_types":[
            {
                "id_type_sale":2,
                "sale_type_description":"Coffee shop"
            },
            {
                "id_type_sale":5,
                "sale_type_description":"Book shop"
            }
        ]
    }
],
"106":[
    {
        "email":null,
        "date":"2016-05-19",
        "order_id":106,
        "store":"Ezio store",
        "object_sale_types":[
            {
                "id_type_sale":3,
                "sale_type_description":"Food"
            },
            {
                "id_type_sale":8,
                "sale_type_description":"Articles"
            }
        ]
    }
]}

我能怎么做?有什么更好的方法?我想使用python

缺口

首先,您需要使用加载JSON字符串json.loads,然后可以遍历(key, value)字典中的每一对,value并使用每个对象的公共值id_sale_typeandsale_type_description数组构建新的字典然后,您可以使用来输出新的JSON json.dumps

d = json.loads(j)
r = {}
for key, value in d.items():
    r[key] = { k : value[0][k] for k in ['email', 'date', 'order_id', 'store'] }
    r[key]['object_sales_types'] = [ { 'id_type_sale' : s['id_type_sale'], 'sale_type_description' : s['sale_type_description'] } for s in value]

print(json.dumps(r, indent=4))

输出:

{
    "105": {
        "email": null,
        "date": "2016-05-18",
        "order_id": 105,
        "store": "Ezio store",
        "object_sales_types": [
            {
                "id_type_sale": 2,
                "sale_type_description": "Coffee shop"
            },
            {
                "id_type_sale": 5,
                "sale_type_description": "Book shop"
            }
        ]
    },
    "106": {
        "email": null,
        "date": "2016-05-19",
        "order_id": 106,
        "store": "Ezio store",
        "object_sales_types": [
            {
                "id_type_sale": 3,
                "sale_type_description": "Food"
            },
            {
                "id_type_sale": 8,
                "sale_type_description": "Articles"
            }
        ]
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中使用重复键创建嵌套字典

来自分类Dev

如何在Python中为特定键创建列表作为字典条目?

来自分类Dev

Python 3 - 从字典列表中随机打印项目而不重复

来自分类Dev

如何在python中创建具有某些值的字典

来自分类Dev

如何在 Python 中更新字典列表中的键

来自分类Dev

如何在PHP中创建一个不重复的随机名称列表?

来自分类Dev

如何在PHP中创建一个不重复的随机名称列表?

来自分类Dev

在忽略某些键的同时在列表中查找重复映射的Python方式,并将重复映射合并以创建新列表

来自分类Dev

如何在python中从数组和列表创建字典?

来自分类Dev

如何在Python中的字典项列表中按值删除重复的字典项

来自分类Dev

如何在Python中创建字典的字典

来自分类Dev

如何在Python中创建字典的字典

来自分类Dev

如何在字典列表中向字典添加键?

来自分类Dev

python3:避免在字典中创建重复键

来自分类Dev

python字典中的重复键

来自分类Dev

如何在不重复 c# 中的代码的情况下在 ViewModel 上创建可变长度下拉列表?

来自分类Dev

如何在字典中添加重复键

来自分类Dev

从字典列表中删除某些键

来自分类Dev

如何从列表中创建没有重复元素的字典

来自分类Dev

结合字典与列表中的“重复”键

来自分类Dev

如何从python字典列表中创建范围?

来自分类Dev

如何在Python中用字典中的键替换列表中的项目

来自分类Dev

如何使用python计算字典键中的重复日期?

来自分类Dev

如何在Python中减少/汇总每个多个键的字典列表?

来自分类Dev

如何在Python中添加一个带有字典的特定键项的列表

来自分类Dev

如何在Python中使用列表中的数字作为字典的键?

来自分类Dev

如何在python中的字典对象列表中找到特定的键

来自分类Dev

如何在Python中自动创建字典

来自分类Dev

如何在python中创建嵌套字典

Related 相关文章

  1. 1

    如何在python中使用重复键创建嵌套字典

  2. 2

    如何在Python中为特定键创建列表作为字典条目?

  3. 3

    Python 3 - 从字典列表中随机打印项目而不重复

  4. 4

    如何在python中创建具有某些值的字典

  5. 5

    如何在 Python 中更新字典列表中的键

  6. 6

    如何在PHP中创建一个不重复的随机名称列表?

  7. 7

    如何在PHP中创建一个不重复的随机名称列表?

  8. 8

    在忽略某些键的同时在列表中查找重复映射的Python方式,并将重复映射合并以创建新列表

  9. 9

    如何在python中从数组和列表创建字典?

  10. 10

    如何在Python中的字典项列表中按值删除重复的字典项

  11. 11

    如何在Python中创建字典的字典

  12. 12

    如何在Python中创建字典的字典

  13. 13

    如何在字典列表中向字典添加键?

  14. 14

    python3:避免在字典中创建重复键

  15. 15

    python字典中的重复键

  16. 16

    如何在不重复 c# 中的代码的情况下在 ViewModel 上创建可变长度下拉列表?

  17. 17

    如何在字典中添加重复键

  18. 18

    从字典列表中删除某些键

  19. 19

    如何从列表中创建没有重复元素的字典

  20. 20

    结合字典与列表中的“重复”键

  21. 21

    如何从python字典列表中创建范围?

  22. 22

    如何在Python中用字典中的键替换列表中的项目

  23. 23

    如何使用python计算字典键中的重复日期?

  24. 24

    如何在Python中减少/汇总每个多个键的字典列表?

  25. 25

    如何在Python中添加一个带有字典的特定键项的列表

  26. 26

    如何在Python中使用列表中的数字作为字典的键?

  27. 27

    如何在python中的字典对象列表中找到特定的键

  28. 28

    如何在Python中自动创建字典

  29. 29

    如何在python中创建嵌套字典

热门标签

归档