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

Python特殊数组访问问题:无引号键数组如何按指定方式取值

问题解答

首先你给出的数组定义不是合法的Python语法:

Array= [{Client: 1, Budget: 520, Name: "Oscar"},{Client: 2, Budget: 430, Name: "Jane"}]

Python里字典的字符串键必须加引号,否则会把Client、Budget这些标识符当成变量名,运行时直接抛出NameError——因为这些变量根本没定义。

所以你问的两种访问方式都无法直接生效:

  1. 执行print(Array[0])之前,Array的定义就会报错,根本到不了打印步骤。
  2. 就算强行定义了Array,Array[0][Budget]也会因Budget是未定义变量报错。

正确处理方式

把数组改成合法的Python字典数组,给所有字符串键加上引号:

Array= [{'Client': 1, 'Budget': 520, 'Name': "Oscar"},{'Client': 2, 'Budget': 430, 'Name': "Jane"}]

这时就能正常访问:

  • print(Array[0])输出:{'Client': 1, 'Budget': 520, 'Name': 'Oscar'}
  • 访问预算需要用字符串键:print(Array[0]['Budget']),输出:520

如果这个输入格式来自其他语言(比如JavaScript的对象数组),可以先把键替换成带引号的形式,或者用json模块处理(JSON要求键是双引号):

import json
# 先转成JSON兼容的字符串(给键加双引号)
json_str = '[{"Client": 1, "Budget": 520, "Name": "Oscar"},{"Client": 2, "Budget": 430, "Name": "Jane"}]'
Array = json.loads(json_str)
print(Array[0]['Budget'])  # 输出520

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:31:16