You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python获取列表最后一个值及Python 3.6提取嵌套JSON指定值?

关于Python列表取值和JSON数据提取的问题解答

嘿,我来帮你一步步搞定这两个问题:

一、如何获取列表中的最后一个值?

Python里有两种实用又简单的方法:

  • 直接用负索引-1:这是最常用的方式,不会修改原列表,直接定位最后一个元素。举个例子:
    my_list = [10, 20, 30, 40]
    last_element = my_list[-1]
    print(last_element)  # 输出: 40
    
  • 使用pop()方法:这个方法会取出最后一个元素,同时把它从原列表里移除,如果不需要保留原列表的最后一项,可以用它:
    my_list = [10, 20, 30, 40]
    last_element = my_list.pop()
    print(last_element)  # 输出: 40
    print(my_list)       # 输出: [10,20,30]
    

二、从给定数据中提取"1.0"值

先提个小细节:你给出的data和data1写法有问题哦——它们用了键值对结构,但外面套的是列表[],应该改成字典{}才符合Python语法,不然会直接报错。修正后的正确结构是:

data = {'reply': '{"osc":{"version":"1.0"}}'}
data1 = {'reply':'{"device":{"network":{"ipv4_dante":{"auto":"1.0"}}}}'}

接下来要提取里面的"1.0",因为reply对应的是JSON格式的字符串,我们需要用Python内置的json模块来解析它,具体步骤如下:

  1. 导入json模块;
  2. 从字典中取出reply对应的JSON字符串;
  3. 用json.loads()把字符串转换成Python字典;
  4. 逐层访问字典的键,拿到目标值。

针对data的提取代码:

import json

data = {'reply': '{"osc":{"version":"1.0"}}'}
# 解析JSON字符串为Python字典
reply_content = json.loads(data['reply'])
# 逐层取值
target_value = reply_content['osc']['version']
print(target_value)  # 输出: 1.0

针对data1的提取代码:

import json

data1 = {'reply':'{"device":{"network":{"ipv4_dante":{"auto":"1.0"}}}}'}
reply_content = json.loads(data1['reply'])
target_value = reply_content['device']['network']['ipv4_dante']['auto']
print(target_value)  # 输出: 1.0

如果担心中间某个键不存在导致报错,还可以用dict.get()方法做容错处理,比如:

target_value = reply_content.get('osc', {}).get('version', '未找到对应值')

这样就算某个键不存在,也会返回你指定的默认值,而不是直接抛出异常。

内容的提问来源于stack exchange,提问作者nrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:15:30