我正在尝试合并我拥有的两个列表。
gpbdict = dict(zip(namesb, GPB))
>>> {'1': True, '3': True, '2': True, '5': True, '4': True, '7': True, '6': True, '8': True}
gpadict = dict(zip(namesa, GPA))
>>> {'11': True, '10': True, '13': True, '12': True, '15': True, '14': True, '16': True, '9': True}
然而,它似乎并不像以下那么简单:
json.loads(gpadict + gpbdict)
或
gpa_gpb = [gpadict, gpbdict]
print json.dumps(gpa_gpb, indent=2, sort_keys=True))
只有后者会产生两个单独列表的结果:
>>>[
>>> {
>>> "10": true,
>>> "11": true,
>>> "12": true,
>>> "13": true,
>>> "14": true,
>>> "15": true,
>>> "16": true,
>>> "9": true
>>> },
>>> {
>>> "1": true,
>>> "2": true,
>>> "3": true,
>>> "4": true,
>>> "5": true,
>>> "6": true,
>>> "7": true,
>>> "8": true
>>> }
>>>]
我缺少一步吗?
答案 0 :(得分:3)
你正在做一些奇怪的事情。
首先,你要合并Python对象,不是吗?为什么以及如何? gpbdict
和gpbadict
都是字典(不是list
),因此您的问题不是非常具体。并且json.loads
预计会收到一个字符串(一个JSON)而不是一个Python对象。所以,也许你只想要:
gpbadict = dict(zip(namesb + namesa, GPB + GPA))
请注意,运算符+
适用于列表,但不适用于词典。
另一方面,如果要合并字典,可以使用update
:
gpadict.update(gpbdict)
这将有效地合并字典:gpadict
将成为gpadict
(起始者)和gpbdict
的组合。如果有重复的密钥,它们将被覆盖。
在整个问题中,我找不到任何真正的JSON参考。我错过了什么?