Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4054278
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T14:33:17+00:00 2026-05-20T14:33:17+00:00

Is there any way to ensure that when an object is deleted, it is

  • 0

Is there any way to ensure that when an object is deleted, it is deleted fully from wherever it is?

For example, if you did something like:

A = NewObject()
B = NewObject()
C = NewObject()

List1 = [A,B,C]
List2 = [1,2,3,C]

del A
del List2[3]

and have the objects deleted wherever they are, meaning that List1 would only contain B and that List2 would only contain 1,2,3.

Is there any way that behavior similar to this could be achieved?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T14:33:18+00:00Added an answer on May 20, 2026 at 2:33 pm

    You can use weak references in some cases. If you don’t care if C remains alive in List2, you can wrap it in a weakref, and when the reference to C expires from List1, the garbage collector will collect any memory associated with it.

    Python uses reference counting to decide whether or not an object should be collected, so as long as a reference is held somewhere, you can not fully delete that object. However, if a weakref wraps an object, that reference is not counted. So when the count drops to 0, it’ll be collected at the GC convenience.

    Make sure to fully read the documentation though, since there are quite a few caveats associated with weakrefs. Especially the types of objects that are eligible to be used within a weakref.

    Edit:

    An example –

    >>> class List(list):
    ...     pass
    ... 
    >>> weaklist = List()
    >>> weaklist.append('a')
    >>> weaklist.append('b')
    >>> stronglist = [ ['c','d','e'] ]
    >>> weaklist
    ['a', 'b']
    >>> stronglist
    [['c', 'd', 'e']]
    >>> import weakref
    >>> stronglist.append(weakref.ref(weaklist))
    >>> stronglist
    [['c', 'd', 'e'], <weakref at 0x10046e578; to 'List' at 0x100455f70>]
    >>> stronglist[1]()
    ['a', 'b']
    >>> del weaklist
    >>> stronglist
    [['c', 'd', 'e'], <weakref at 0x10046e578; dead>]
    >>> stronglist[1]()
    >>>
    

    I highly advise reading the entire documentation on weakrefs. It sounds like you want to build up a node structure, but be able to reference that node structure from a Manager. You would create your nodes as regular objects, but place weakrefs to those objects within the Manager. In that way, when a node is removed, the reference within the Manager simply dies.

    A candidate for this would be the WeakValueDictionary defined within the weakref module.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there any way to have something that looks just like a file on
Is there any way to ensure that a class posts a particular NSNotification? (I
Is there a way to ensure that the serialization of an object is done
I would like to ensure that an object's destructor does not run. Is there
Is there any way to capture the MouseDown even from the .NET 2.0 TextBox
Is there any way to implement linking of object files in C, in such
Is there any way to check whether a file is locked without using a
Is there any way to apply an attribute to a model file in ASP.NET
Is there any way, in any language, to hook my program when a user
Is there any way to include the SVN repository revision number in the version

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.