Python数据类型和添加新值

Python数据类型和添加新值,python,json,Python,Json,下面是一个API请求的示例结果。我的目标是向该“路线”结果以及结果中随后的其他“路线”结果添加更多数据。这将包括有关发送到API以生成此请求的内容的信息 results = [{u'routes': [{u'bounds': {u'northeast': {u'lat': value, u'lng': value}, u'southwest': {u'lat

下面是一个API请求的示例结果。我的目标是向该“路线”结果以及结果中随后的其他“路线”结果添加更多数据。这将包括有关发送到API以生成此请求的内容的信息

results = 
[{u'routes': [{u'bounds': {u'northeast': {u'lat': value,
                                          u'lng': value},
                           u'southwest': {u'lat': value,
                                          u'lng': value}},
               u'copyrights': u'value',
               u'legs': [{u'distance': {u'text': u'value',
                                        u'value': value},
                          u'duration': {u'text': u'value',
                                        u'value': value},
                          u'duration_in_traffic': {u'text': u'value',
                                                   u'value': value},
                          u'end_address': u'value',
                          u'end_location': {u'lat': value,
                                            u'lng': value},
                          u'start_address': u'value',
                          u'start_location': {u'lat': value,
                                              u'lng': value},
                          u'steps': [{u'distance': {u'text': u'value',
                                                    u'value': value},
                                      u'duration': {u'text': u'value',
                                                    u'value': value},
                                      u'end_location': {u'lat': value,
                                                        u'lng': value},
                                      u'html_instructions': u'value',
                                      u'polyline': {u'points': u'value'},
                                      u'start_location': {u'lat': value,
                                                          u'lng': 0.value},
                                      u'travel_mode': u'value'},
                                     {u'distance': {u'text': u'value',
                                                    u'value': value},
                                      u'duration': {u'text': u'value',
                                                    u'value': value},
                                      u'end_location': {u'lat': value,
                                                        u'lng': value},
                                      u'html_instructions': u’value’,
                                      u'maneuver': u’value’,
                                      u'polyline': {u'points': u’value’},
                                      u'start_location': {u'lat': value,
                                                          u'lng': value},
                                      u'travel_mode': u’value’},
                          u'via_waypoint': []}],
               u'overview_polyline': {u'points': u’value’},
               u'summary': u’value’,
               u'warnings': [],
               u'waypoint_order': []}],
  u'status': u'OK'}]
我知道API返回JSON,但我已经通过请求模块对其进行了解码,以便在Python中使用

当我跑的时候

print(type(results))
我明白了

然后,我尝试使用extend函数添加这些新值

我试过了

results.extend(["label":2,"label_2":3])
但是我收到以下错误

   results.extend(["label":2,"label_2":3])
                           ^
SyntaxError: invalid syntax
我还可以如何向此响应追加/添加/扩展值

我想达到的目标

results = 
[{u'routes': [{u'bounds': {u'northeast': {u'lat': value,
                                          u'lng': value},
                           u'southwest': {u'lat': value,
                                          u'lng': value}},
               u'copyrights': u'value',
               u'legs': [{u'distance': {u'text': u'value',
                                        u'value': value},
                          u'duration': {u'text': u'value',
                                        u'value': value},
                          u'duration_in_traffic': {u'text': u'value',
                                                   u'value': value},
                          u'end_address': u'value',
                          u'end_location': {u'lat': value,
                                            u'lng': value},
                          u'start_address': u'value',
                          u'start_location': {u'lat': value,
                                              u'lng': value},
                          u'steps': [{u'distance': {u'text': u'value',
                                                    u'value': value},
                                      u'duration': {u'text': u'value',
                                                    u'value': value},
                                      u'end_location': {u'lat': value,
                                                        u'lng': value},
                                      u'html_instructions': u'value',
                                      u'polyline': {u'points': u'value'},
                                      u'start_location': {u'lat': value,
                                                          u'lng': 0.value},
                                      u'travel_mode': u'value'},
                                     {u'distance': {u'text': u'value',
                                                    u'value': value},
                                      u'duration': {u'text': u'value',
                                                    u'value': value},
                                      u'end_location': {u'lat': value,
                                                        u'lng': value},
                                      u'html_instructions': u’value’,
                                      u'maneuver': u’value’,
                                      u'polyline': {u'points': u’value’},
                                      u'start_location': {u'lat': value,
                                                          u'lng': value},
                                      u'travel_mode': u’value’},
                          u'via_waypoint': []}],
               u'overview_polyline': {u'points': u’value’},
               u'summary': u’value’,
               u'warnings': [],
               u'waypoint_order': []}],
  u'status': u'OK'}
  u'label': u'value'}]
更新-进一步问题- 我在“结果”中有多条“路线”。我批量发送这些请求,因此我想添加为该特定请求发送的相关信息,然后附加这些信息

@马蒂诺很热心地帮助了我,我也加入了他的编辑。但是,我在将要关联的列表中的第一个值与其相应的结果关联时遇到问题。假设我有四个结果,我想将这4个“origincoords”附加到4个不同的JSON响应中

在哪里

origincoords = ['51.41833327,0.115963078', '51.34666046,-0.210947524', '51.39574919,-0.045778021', '51.4178257,0.010449216']    
第一组坐标应该与第一个JSON结果('routes')相关联,依此类推

我尝试过使用zip函数,创建一个新的列表,我称之为output

output = (zip(results, origincoords))
当我打印输出时,我会正确地将值附加到结果的末尾-

u'summary': u'A20',
                u'warnings': [],
                u'waypoint_order': []}],
   u'status': u'OK'},
  '51.41833327,0.115963078'),
如何将标签添加到此值?例如,我想看看

  u'summary': u'A20',
                    u'warnings': [],
                    u'waypoint_order': []}],
       u'status': u'OK'},
      u'origincoord' : '51.41833327,0.115963078'),

您可以向响应中添加信息,这是一个包含一个字典的列表,在“routes”键下有一个列表,这是一个包含一个字典的列表,这是您要通过向其中添加更多键/值对来修改的列表。这可以通过以下几种方式实现:

results[0]['routes'][0]['label'] = 2
results[0]['routes'][0]['label_2'] = 3

不管怎样,你最终会得到如下结果:

results = [{'routes': [{'bounds': {'northeast': {'lat': 'value',
                                                 'lng': 'value'},
                        'status': 'OK',
                        'label': 2,
                        'label_2': 3
                          . . .
                       }
                      ]
           }
          ]

您正在列表中使用字典语法。您希望这些标签添加到什么
results.extend()
只会将其他对象添加到列表的末尾,嵌套字典不会使用该语法进行更新。
[“label”:2,“label\u 2”:3]
这看起来更像类型字典。您可以指定要插入新元素的位置吗?在哪里添加
“label”:2,“label\u 2”:3
值?表示结果中的位置??预期结果是什么?抱歉,但我还有进一步的问题。你能给我一些建议吗?很多人觉得可以在这里免费发布更多问题。谢谢。我在这里编辑了我最初的问题。你可以在上面的更新中看到添加的内容。如果有机会,我会看看你的后续问题。你可以通过发布一个全新的问题得到更快的回复。
results[0]['routes'][0]['label'] = 2
results[0]['routes'][0]['label_2'] = 3
results[0]['routes'][0].update({'label': 2, 'label_2': 3})
results[0]['routes'][0].update([('label', 2), ('label_2', 3)])
results = [{'routes': [{'bounds': {'northeast': {'lat': 'value',
                                                 'lng': 'value'},
                        'status': 'OK',
                        'label': 2,
                        'label_2': 3
                          . . .
                       }
                      ]
           }
          ]