将对象实例的引用添加到列表中

你好,
我想让对objets的参考提交大量数据
结构(例如列表或堆).我的目标是使用
我必须管理大量条目的记忆尽可能少
在我的数据结构中,需要在其他地方使用相同的内容.
如果我在C ++中进行编码,那很自然,但是因为我是一个
Newby到Python,我还不知道如何实现这一目标.
谁能帮我吗?
问候,
- 埃里克

# 回答1


2008/8/27 pa***********@gmail.com ::
仅列表 *曾经 *包含对对象的引用,所以什么都没有
特别要做.
我确实强烈推荐这篇文章:
.
- -
干杯,
Simon B.
# 回答2

pa *************@gmail.com aécrit:
轻松:在Python中,您只有对象引用.
.... def __init __(self,bar):
.... self.bar = bar
...
真的
真的
真的
真的
'yadda'
['yadda','yadda']
# 回答3


感谢您的回复Simon.
我会阅读您告诉我的文章,但首先,请看一下
在这个片段:
[[2,3,4,'a','b','c'],['a','b','c']]
[[2,3,4,'a','b','c'],['a','b','c']]
删除P后,如何不更新Q?
这是我的意思.
# 回答4


在2008年8月27日星期三08:32:52 -0700,pa ***********@gmail.com写道:
请阅读文章!
[[2,3,4,'a','b','c'],['a','b','c']]
[[2,3,4,'a','b','c'],['a','b','c']]
删除P后,如何不更新Q?
因为名称`q`或绑定到它的列表对象都没有任何东西
处理名称`p`. ``del`不会删除对象,而是 *名称 *.
只要对象提到它们,就存在.您删除了
名称为`p`,因此用三个字符对列表进行了引用,但是
仍然有从列表绑定到`q'到那三个的引用
角色列表.
无论如何,您对"更新Q"有什么期望?
再见,
marc'blackjack'rintsch
# 回答5


2008/8/27 pa***********@gmail.com ::
[[2,3,4,'a','b','c'],['a','b','c']]
[[2,3,4,'a','b','c'],['a','b','c']]
删除P后,如何不更新Q?
您删除了 *名称 *" p".它也引用的对象
列表,仍然有一个实时参考 - 它是Q的元素 - 因此它坚持下去
大约.一旦最后一次引用它,它才会消失.
请阅读文章. ;-)
- -
干杯,
Simon B. sithline.net http://www.brunningonline.net/simon/blog/
# 回答6


[[2,3,4,'a','b','c'],['a','b','c']]
[[2,3,4,'a','b','c'],['a','b','c']]
删除P后,如何不更新Q?
Q仍然对p进行引用.也许您追求弱参考.有一个
查看标准库中弱Ref模块的文档.
不幸的是,您不能直接存储弱参考列表的参考:
在[5]中:类Foo(对象):
...:def __init __( 自我,lst):
...:self.lst = lst
在[6]中:m = foo([2,3,4])
在[7]:p = foo(['a','b','c'])中
在[8]中:导入feebref
在[20]中:q = [feekRef.proxy(m),fearref.proxy(p)]
在[23]:q [0] .lst,q [1] .lst
out [23] :( [2,3,4],['a','b','c'])
在[24]:del P
在[27]:q [1] .lst中
给出参考错误
- -
杰里米·桑德斯(Jeremy Sanders)http://www.jeremysanders.net/
# 回答7


Marc'Blackjack'Rintsch写道:
[...剪切片段加上马克的评论...]
我认为,简而言之,这对您来说是最好的事情
要做的就是掌握一些介绍性文本[1]
并尝试一下.如果您来自
直c / c ++环境,您可能没有
想法在python中 *做 *做事有多容易
(而不是关于如何或
可能行不通).
说真的,我已经看过 *所以 *许多讨论过去了
在此列表中,试图解释如何python对象
工作以及他们是这样还是值得的,
参考,指针,ID,等等等等.容易得多
进去尝试一下.
祝你好运 :)
TJG
[1]这里的建议;不同的样式适合不同的人:http://wiki.python.org/moin/beginner...eginnersguide/)http://www.awaretek.com/tutorials.html(_@@_)
好吧,我的错误:我以为" del"正在删除对象,并且
释放以后用户的名称.对不起!
这是我首先应该尝试的:
[[2,3,4],['a','b','c']]
['a','b','c','w']
[[2,3,4],['a','b','c','w']]
我将要在所有顶点都是对象的图表上工作
包含标签(例如,用于计算最短路径)和i
计划逐渐更新我的标签(对象的成员变量).我只是
想确保它是可能的,什么是合适的
机制.
感谢你们三个人的摇晃我的想法.我会尽量不要
再次问愚蠢的问题
; o)
- 埃里克
# 回答8


2008年8月27日,星期三,上​​午8:32
[[2,3,4,'a','b','c'],['a','b','c']]
[[2,3,4,'a','b','c'],['a','b','c']]
删除P后,如何不更新Q?
这是我的意思.
-http://mail.python.org/mailman/listinfo/python-list
因为该列表仍然对以前称为p的对象进行引用.
- -
坚守,
TJG. [蒂莫西·格兰特]

标签: python

添加新评论