在Python中动态地将获得的结果分配给变量

在Python中动态地将获得的结果分配给变量,python,Python,我有一个API响应,用于列出所有卷的信息。我想循环响应,获取名称的值,并将它们动态地分配给每个url 这是我的主要API端点,它返回以下内容: [{'source': None, 'serial': '23432', 'created': '2018-11- 12T04:27:14Z', 'name': 'v001', 'size': 456456}, {'source': None, 'serial': '4364576', 'created': '2018-11-12T04:27:16

我有一个API响应,用于列出所有卷的信息。我想循环响应,获取
名称的值,并将它们动态地分配给每个url

这是我的主要API端点,它返回以下内容:

[{'source': None, 'serial': '23432', 'created': '2018-11- 
12T04:27:14Z', 'name': 'v001', 'size': 
456456}, {'source': None, 'serial': '4364576', 
'created': '2018-11-12T04:27:16Z', 'name': 'v002', 
'size': 345435}, {'source': None, 'serial': 
'6445645', 'created': '2018-11-12T04:27:17Z', 'name': 'v003', 'size': 
23432}, {'source': None, 
'serial': 'we43235', 'created': '2018-11-12T04:27:20Z', 
'name': 'v004', 'size': 35435}]
我这样做是为了得到
'name'

 test_url = 'https://0.0.0.0/api/1.1/volume'
 test_data = json.loads(r.get(test_url, headers=headers, 
 verify=False).content.decode('UTF-8'))

 new_data = [{
         'name': value['name']
 } for value in test_data]

 final_data = [val['name'] for val in new_data]

 for k in final_data:
         print(k)
k
打印出
name
中的所有值,但我仍然无法在分配不同API端点时使用它。现在,
k
返回

v001
v002
v003
v004
我想将它们中的每一个分配到不同的端点,如下所示:

url_v001 = test_url + v001
url_v002 = test_url + v002
url_v003 = test_url + v003
url_v004 = test_url + v004

我希望这是动态完成的,因为我的主API可能返回4个以上的卷名

这样做不好,但最好的方法是使用字典:

d={}
for k in final_test:
    d['url_'+k] = test_url + k
或者更好地理解词典:

d={'url_'+k:test_url + k for k in final_test}
现在:

print(d)
两者都再现了:

{'url_v001': 'https://0.0.0.0/api/1.1/volumev001', 'url_v002': 'https://0.0.0.0/api/1.1/volumev002', 'url_v003': 'https://0.0.0.0/api/1.1/volumev003', 'url_v004': 'https://0.0.0.0/api/1.1/volumev004'}
要使用
d

for k,v in d.items():
    print(k+',',v)
产出:

url_v001, https://0.0.0.0/api/1.1/volumev001
url_v002, https://0.0.0.0/api/1.1/volumev002
url_v003, https://0.0.0.0/api/1.1/volumev003
url_v004, https://0.0.0.0/api/1.1/volumev004

我觉得这可以很容易地简化为一本字典。@Tomothy32编辑了我的。@U9转发,非常感谢!谢谢你的帮助。但是如果把它放在字典里,我如何分别使用每个URL呢?例如,我使用每个url并循环使用它们来获得所需的值。@Bharath编辑了我的url,也可以查看文档,乐于帮助:-)@U9转发感谢您的帮助。还有一个,当我打印(d)
时,它会打印出4个副本(就像它打印同一行的4行(字典))。