Popping key causes dict derived from object to revert to object

Liste des GroupesRevenir à cl python 
Sujet : Popping key causes dict derived from object to revert to object
De : loris.bennett (at) *nospam* fu-berlin.de (Loris Bennett)
Groupes : comp.lang.python
Date : 21. Mar 2024, 10:56:42
Autres entêtes
Organisation : FUB-IT (ex-ZEDAT), Freie Universität Berlin
Message-ID : <87zfurgb6t.fsf@zedat.fu-berlin.de>
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Hi,

I am using SQLAlchemy to extract some rows from a table of 'events'.
From the call to the DB I get a list of objects of the type

  sqlalchemy.orm.state.InstanceState

I would like to print these rows to the terminal using the 'tabulate'
package, the documentation for which says

  The module provides just one function, tabulate, which takes a list of
  lists or another tabular data type as the first argument, and outputs
  a nicely formatted plain-text table

So as I understand it, I need to convert the InstanceState-objects to,
say, dicts, in order to print them.  However I also want to remove one
of the keys from the output and assumed I could just pop it off each
event dict, thus:
        
    event_dicts = [vars(e) for e in events]
    print(type(event_dicts[0]))
    event_dicts = [e.pop('_sa_instance_state', None) for e in event_dicts]
    print(type(event_dicts[0]))

However, this prints

  <class 'dict'>
  <class 'sqlalchemy.orm.state.InstanceState'>

If I comment out the third line, which pops the unwanted key, I get

  <class 'dict'>                                                                               
  <class 'dict'>                                                                               

Why does popping one of the keys cause the elements of the list to
revert back to their original class?

Cheers,

Loris

--
This signature is currently under constuction.

Date Sujet#  Auteur
21 Mar 24 * Popping key causes dict derived from object to revert to object14Loris Bennett
21 Mar 24 +- Re: Popping key causes dict derived from object to revert to object1dieter.maurer
21 Mar 24 `* Re: Popping key causes dict derived from object to revert to object12Mark Bourne
22 Mar 24  `* Re: Popping key causes dict derived from object to revert to object11Loris Bennett
22 Mar 24   +* Re: Popping key causes dict derived from object to revert to object7Grant Edwards
25 Mar 24   i`* Re: Popping key causes dict derived from object to revert to object6Loris Bennett
25 Mar 24   i +* Re: Popping key causes dict derived from object to revert to object3Michael F. Stemper
25 Mar 24   i i`* Re: Popping key causes dict derived from object to revert to object2Loris Bennett
25 Mar 24   i i `- Re: Popping key causes dict derived from object to revert to object1Jon Ribbens
25 Mar 24   i +- Re: Popping key causes dict derived from object to revert to object1Grant Edwards
25 Mar 24   i `- Re: Popping key causes dict derived from object to revert to object1<avi.e.gross
22 Mar 24   +- Re: Popping key causes dict derived from object to revert to object1<avi.e.gross
25 Mar 24   +- Re: Popping key causes dict derived from object to revert to object1Loris Bennett
25 Mar 24   `- Re: Popping key causes dict derived from object to revert to object1<avi.e.gross

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal