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

如何在Python中提取JSON数组的所有name值?有无非循环简化方法?

提取JSON数组中所有name值的简化实现

你当前用for循环提取name值的写法是有效的,但Python提供了更简洁的方式,不用写显式的for循环:

1. 列表推导式(推荐)

这是Python里最常用的简化写法,代码紧凑且可读性高:

import json

# 定义JSON数据
jsondata = """[
 {
  "name":"Pen",
  "unit_price":5
 },
 {
  "name":"Eraser",
  "unit_price":3
 },
 {
  "name":"Pencil",
  "unit_price":10
 },
 {
  "name":"White paper",
  "unit_price":15
 }
]"""

items = json.loads(jsondata)
# 用列表推导式直接生成name数组
namelist = [item['name'] for item in items]
print(namelist)

运行结果:['Pen', 'Eraser', 'Pencil', 'White paper']

2. 使用map()函数

也可以结合map()和lambda表达式实现,不过可读性不如列表推导式:

namelist = list(map(lambda x: x['name'], items))

另外注意你原代码里导入的from unicodedata import name完全多余,建议删掉,避免和字典的name键产生命名冲突。

需要说明的是:这两种方法底层依然会执行循环逻辑,但不需要你编写显式的for语句,属于Python语法层面的简化,让代码更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:30:54