python - 如何获取列表中的项目并将其转换为 json

标签 python json

我有 4 个独立的 json,有 4 个键 summinmaxcount,列表如下:

"sum" :  ["columnA", "columnB", "columnC", "columnD"]

"min" :  ["columnA", "columnC"]

"max" :  ["columnB", "columnC"]

"count" : ["columnA", "columnD"]

如何将它们重新打包成 json 对象,如下所示:

{ "columnA" : ["sum", "min","count" ] , "columnB" : ["sum", "max"], "columnC" : ["sum", "min", "max"] }

最佳答案

要获得快速(开发)结果,请尝试以下操作:

>>> my_json = {"sum" :  ["columnA", "columnB", "columnC", "columnD"]
,"min" :  ["columnA", "columnC"]
,"max" :  ["columnB", "columnC"]
,"count" : ["columnA", "columnD"]}
>>> result = {}
>>> [result.setdefault(col,[]).append(key) for key,value in my_json.items() for col in value]
>>> result
{'columnD': ['count', 'sum'], 'columnA': ['count', 'sum', 'min'], 'columnC': ['max', 'sum', 'min'], 'columnB': ['max', 'sum']}

更具可读性的版本:

>>> result = {}
>>> for function, columns in my_json.items():
        for column in columns:
            result.setdefault(column, []).append(function)


>>> result
{'columnD': ['count', 'sum'], 'columnA': ['count', 'sum', 'min'], 'columnC': ['max', 'sum', 'min'], 'columnB': ['max', 'sum']}

关于python - 如何获取列表中的项目并将其转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47674398/

相关文章:

python - 从 for 循环中更新的字典制作可滚动的绘图

python - 尝试在 pygame 中播放动画会导致错误

python - 将属性批量设置为 django queryset

php - 致命异常 AsyncTask #2?

arrays - JSON 数组推送

python - 将小数字显示为零

python - ssh 远程机器并使用 pexpect 运行 'ls-l'

java - GWT:gwt-user.jar 中的冲突类

java - 如何解析具有两种类型值的 JSON,一种是整数,另一种是 JSON 对象?

android - 如何在 Android fragment 中从互联网加载数据时关闭对话框