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

Python中如何将作为全局变量的嵌套列表传入函数完成数据追加?

核心结论

Python中列表属于可变对象,如果仅修改嵌套列表的内容(比如给子列表追加数据、修改某个位置的元素值),不需要使用global声明即可直接操作全局的sensors变量。


不需要global的场景

你要执行追加数据的操作属于修改列表内容,直接在函数内操作即可,示例代码如下:

# 全局初始化
sensors = [[] for i in range(4)]

def append_sensor_data(sensor_index, data):
    # 无需加global声明,直接操作列表内容
    sensors[sensor_index].append(data)

# 测试调用
append_sensor_data(0, 24.7)
append_sensor_data(2, 31.2)
print(sensors)
# 输出:[[24.7], [], [31.2], []]

需要加global的场景

只有当你需要给sensors变量整体重新赋值(也就是让这个全局变量指向一个全新的列表对象)时,才需要加global声明:

def reset_sensors(sensor_count):
    # 要修改sensors本身的指向,必须加global声明
    global sensors
    sensors = [[] for i in range(sensor_count)]

# 测试调用
reset_sensors(6)
print(len(sensors))
# 输出:6

注意事项

  • 操作嵌套列表时注意索引不要越界,初始sensors只有4个子列表,合法索引范围为0~3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 01:15:08