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

Python中使用元组返回大列表时,是复制列表还是引用?

Python中元组存储列表是复制内容还是仅引用?

我想在Python方法里返回一个列表和状态码,打算用元组实现,因为它简洁。但列表可能很大,如果存元组时要复制内容会有性能问题,所以想问:Python里把列表放进元组时,是复制列表内容,还是只引用列表?

示例代码:

response = requests.get(self.base_url)
my_list = ast.literal_eval(response.text) # 把字符串字面量转成列表
return (response, my_list)

回答:

Python里元组存储列表时,只会保存列表的引用,不会复制列表的内容。

  • 元组的本质是存储对象引用的序列,不管你放进去的是可变对象(比如列表、字典)还是不可变对象(比如整数、字符串),元组里存的都是指向这些对象的引用,不会额外复制对象本身的数据。
  • 你写的示例代码里,return (response, my_list)这句创建的元组,只会把my_list的引用存进去,完全不会复制那个大列表的内容,所以不用担心性能损耗。
  • 唯一要注意的是:如果后续你修改了my_list指向的原列表内容,元组里的对应元素(因为是引用关系)也会跟着变化。不过如果只是返回结果供调用方使用,一般不会有这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:40:23