Need help understanding list structure

moa47401 at gmail.com moa47401 at gmail.com
Tue May 3 12:01:07 EDT 2016


At the risk of coming across as a complete dunder-head, I think my confusion has to do with the type of data the library returns in the list. Any kind of text or integer list I manually create, doesn't do this.

See my questions down below at the end.

If I run the following statements on the list returned by the gedcom library:

print(type(myList))
print(len(myList))
print(myList[0])
print(myList[0:29])
print(myList)
for x in myList:
    print(x)

I get this:

<class 'list'>
29
0 HEAD
[<gedcom.Element object at 0x0135BFD0>, <gedcom.Element object at 0x01372030>, <gedcom.Element object at 0x01372050>, <gedcom.Element object at 0x013720B0>, <gedcom.Element object at 0x013720F0>, <gedcom.Element object at 0x01372130>, <gedcom.Element object at 0x01372190>, <gedcom.Element object at 0x013721F0>, <gedcom.Element object at 0x01372270>, <gedcom.Element object at 0x01372230>, <gedcom.Element object at 0x013722F0>, <gedcom.Element object at 0x013722B0>, <gedcom.Element object at 0x01372370>, <gedcom.Element object at 0x01372390>, <gedcom.Element object at 0x01372410>, <gedcom.Element object at 0x01372470>, <gedcom.Element object at 0x01372490>, <gedcom.Element object at 0x013724F0>, <gedcom.Element object at 0x01372530>, <gedcom.Element object at 0x01372590>, <gedcom.Element object at 0x013725F0>, <gedcom.Element object at 0x01372630>, <gedcom.Element object at 0x01372690>, <gedcom.Element object at 0x013726F0>, <gedcom.Element object at 0x01372710>, <gedcom.Element object at 0x01372770>, <gedcom.Element object at 0x01372790>, <gedcom.Element object at 0x013727D0>, <gedcom.Element object at 0x01372830>]
[<gedcom.Element object at 0x0135BFD0>, <gedcom.Element object at 0x01372030>, <gedcom.Element object at 0x01372050>, <gedcom.Element object at 0x013720B0>, <gedcom.Element object at 0x013720F0>, <gedcom.Element object at 0x01372130>, <gedcom.Element object at 0x01372190>, <gedcom.Element object at 0x013721F0>, <gedcom.Element object at 0x01372270>, <gedcom.Element object at 0x01372230>, <gedcom.Element object at 0x013722F0>, <gedcom.Element object at 0x013722B0>, <gedcom.Element object at 0x01372370>, <gedcom.Element object at 0x01372390>, <gedcom.Element object at 0x01372410>, <gedcom.Element object at 0x01372470>, <gedcom.Element object at 0x01372490>, <gedcom.Element object at 0x013724F0>, <gedcom.Element object at 0x01372530>, <gedcom.Element object at 0x01372590>, <gedcom.Element object at 0x013725F0>, <gedcom.Element object at 0x01372630>, <gedcom.Element object at 0x01372690>, <gedcom.Element object at 0x013726F0>, <gedcom.Element object at 0x01372710>, <gedcom.Element object at 0x01372770>, <gedcom.Element object at 0x01372790>, <gedcom.Element object at 0x013727D0>, <gedcom.Element object at 0x01372830>]
0 HEAD
1 SOUR AncestQuest
2 NAME Ancestral Quest
2 VERS 14.00.9
2 CORP Incline Software, LC
3 ADDR PO Box 95543
4 CONT South Jordan, UT 84095
4 CONT USA
1 DATE 3 MAY 2016
2 TIME 10:44:10
1 FILE test_gedcom.ged
1 GEDC
2 VERS 5.5
2 FORM LINEAGE-LINKED
1 CHAR ANSEL
0 @I1@ INDI
1 NAME John /Allen/
1 SEX M
1 BIRT
2 DATE 1750
2 PLAC VA
1 DEAT
2 DATE 1804
2 PLAC KY
1 _UID D6C103E6105D654B85D47DA1B36E474BC7D1
1 CHAN
2 DATE 3 MAY 2016
3 TIME 10:43:35
0 TRLR

Questions:

Why does printing a single item print the actual text of the object?
Why does printing a range print the "representations" of the objects?
Why does iterating over the list print the actual text of the objects?
How can I determine what type of data is in the list?




More information about the Python-list mailing list