我尝试在python中从API返回值创建一个新列表。此API调用的目的是提取一个司机姓名列表,并将它们与API服务本机的车辆ID配对。当前代码如下所示:
url = url
headers = {
"accept": "application/json",
"authorization": auth
}
response = requests.get(url, headers=headers)
response = response.json()
for doc in response['data']:
try:
doc['id'],
doc['staticAssignedDriver']['name']
except:
pass
else:
names = {
doc['staticAssignedDriver']['name']: doc['id']
}
names.update(names)
print(type(names))
print(names)
这将打印一个唯一名称和ID的列表作为单独的指令。
{'name1':'id1'}
<class 'dict'>
{'name2':'id2'}
<class 'dict'>
直到我从API中得到所有的name:id对。
但我想把它列成一个清单,就像这样:
{'name1': 'id1', 'name2': 'id2'}
看起来每个新的name/id对最终都是它自己的var 'names'。有没有一种方法可以使它成为它自己的单数dict,而不是单独的?
2条答案
按热度按时间qyyhg6bp1#
当你执行
names = {whatever: whatever}
时,你总是创建一个只有一个键和一个值的字典,如果你只想有一个字典可以反复更新,那么在循环之外创建字典,并且一次只给它赋一个值:eimct9ow2#