无法在 python 中返回多个字典集
Unable to retun multiple dicitonary sets in python
我正在查询 REST API url 并且我正在尝试 return 所有字典集,但只能 return 一个密钥对。
当 returned 仅出现一组密钥对时,for 循环内 print 语句中的字典输出是预期的输出。
预期字典如下所示:
{'IncidentID': 'IM10265'}
{'IncidentID': 'IM10266'}
{'IncidentID': 'IM10267'}
{'IncidentID': 'IM10268'}
代码:
import json , requests
sm1 = requests.get('http://Rest Url', auth=('XX','YY'))
z = json.loads(sm1.text)
def get_im_list():
incidentlist_access = z['content']
for im_data in incidentlist_access:
Access_imslist = im_data['Incident']
print(Access_imslist)
#print(type(Access_imslist))
#return Access_imslist
data = get_im_list()
#print(data)
所以当我取消评论时
return Access_imslist & print(data)
我只收到如下输出:
{'IncidentID': 'IM10265'}
不是完整的词典。
每次循环遍历数据时,Access_imslist
都会被覆盖,因此当您(大概)return Access_Imlist
时,它只是 return 最后一个值。
您需要在 for 循环之外创建一个数据结构,将每一位数据添加到其中,然后 return 取而代之。类似于:
def get_im_list():
incident_data = []
incidentlist_access = z['content']
for im_data in incidentlist_access:
incident_data.append(im_data['Incident'])
return incident_data
希望对您有所帮助!
您需要定义一个变量列表,然后将 Access_imslist
值附加到该变量。
像这样:
data = []
def get_im_list():
incidentlist_access = z['content']
for im_data in incidentlist_access:
Access_imslist = im_data['Incident']
data.append(Access_imslist)
print(data)
我正在查询 REST API url 并且我正在尝试 return 所有字典集,但只能 return 一个密钥对。 当 returned 仅出现一组密钥对时,for 循环内 print 语句中的字典输出是预期的输出。 预期字典如下所示:
{'IncidentID': 'IM10265'}
{'IncidentID': 'IM10266'}
{'IncidentID': 'IM10267'}
{'IncidentID': 'IM10268'}
代码:
import json , requests
sm1 = requests.get('http://Rest Url', auth=('XX','YY'))
z = json.loads(sm1.text)
def get_im_list():
incidentlist_access = z['content']
for im_data in incidentlist_access:
Access_imslist = im_data['Incident']
print(Access_imslist)
#print(type(Access_imslist))
#return Access_imslist
data = get_im_list()
#print(data)
所以当我取消评论时
return Access_imslist & print(data)
我只收到如下输出:
{'IncidentID': 'IM10265'}
不是完整的词典。
每次循环遍历数据时,Access_imslist
都会被覆盖,因此当您(大概)return Access_Imlist
时,它只是 return 最后一个值。
您需要在 for 循环之外创建一个数据结构,将每一位数据添加到其中,然后 return 取而代之。类似于:
def get_im_list():
incident_data = []
incidentlist_access = z['content']
for im_data in incidentlist_access:
incident_data.append(im_data['Incident'])
return incident_data
希望对您有所帮助!
您需要定义一个变量列表,然后将 Access_imslist
值附加到该变量。
像这样:
data = []
def get_im_list():
incidentlist_access = z['content']
for im_data in incidentlist_access:
Access_imslist = im_data['Incident']
data.append(Access_imslist)
print(data)