首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止修改python中返回的列表

防止修改python中返回的列表
EN

Stack Overflow用户
提问于 2012-12-13 22:48:14
回答 1查看 113关注 0票数 3

我正在努力提高我的python技能,并尝试创建一些类。因为python是基于引用的,所以类方法返回的任何列表都可以被调用者修改,然后调用者会在类中反映出来(正如我所说的)。避免这种情况的正确方法是什么?我在考虑要么将嵌套列表转换为嵌套元组,要么进行深度复制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 22:57:57

返回元组是返回不可变列表的一种相当标准的方式。另一种选择是返回一个不可变的列表“视图”。我不认为stdlib目前包含这样的类,所以您可能需要自己编写一个类,但它会相当直接。基本上,该类将包含单个私有实例变量(底层列表);并且只实现读取操作(__getitem____len__等),并将它们委托给实例变量(根据需要将任何子项包装在“视图”对象中)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13862300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档