【发布时间】:2012-07-03 23:49:06
【问题描述】:
我正在尝试编写一个函数来将 python 列表转换为 {"mpn":"list_value"} 对象的 JSON 数组,其中 "mpn" 是我需要的每个对象的文字字符串值,但 "list_value"是 python 列表中的值。我会将此函数的输出用于 API 获取请求。
part_nums = ['ECA-1EHG102','CL05B103KB5NNNC','CC0402KRX5R8BB104']
def json_list(list):
lst = []
d = {}
for pn in list:
d['mpn']=pn
lst.append(d)
return json.dumps(lst, separators=(',',':'))
print json_list(part_nums)
此当前函数不起作用,并返回所有 JSON 对象的 Python 列表中的最后一个值:
>[{"mpn":"CC0402KRX5R8BB104"},{"mpn":"CC0402KRX5R8BB104"},{"mpn":"CC0402KRX5R8BB104"}]
但是,我当然需要我的函数来返回对象中的唯一列表值:
>[{"mpn":"ECA-1EHG102"},{"mpn":"CL05B103KB5NNNC"},{"mpn":"CC0402KRX5R8BB104"}]
底线是我不明白为什么这个功能不起作用。我希望我可以将带有单个 {key:value} 对的字典附加到 python 列表中,并且所有字典都具有相同的键并不重要,因为它们是独立的。感谢您的帮助。
【问题讨论】:
-
将
d = {}向下移动两行,在for内