What's the neatest way of getting dictionary entries in a specified order?
Chris Green
cl at isbd.net
Wed Mar 8 14:27:17 EST 2017
I have a fairly simple application that populates a GUI window with
fields from a database table. The fields are defined/configured by a
dictionary as follows:-
#
#
# Address Book field details, dictionary key is the database column
#
dbcol = {}
dbcol['firstname'] = col('First Name', True, False)
dbcol['lastname'] = col('Last Name', True, False)
dbcol['email'] = col('E-Mail', True, True)
dbcol['phone'] = col('Phone', True, True)
dbcol['mobile'] = col('Mobile', True, True)
dbcol['address'] = col('Address', True, False)
dbcol['town'] = col('Town/City', True, False)
dbcol['county'] = col('County/Region', True, False)
dbcol['postcode'] = col('PostCode', True, False)
dbcol['country'] = col('Country', True, False)
dbcol['notes'] = col('Notes', True, False)
dbcol['www'] = col('Web Page', True, True)
dbcol['categories'] = col('Categories', True, True)
How can I get the fields in the GUI window in the order I want rather
than the fairly random order that they appear in at the moment?
Currently the GUI fields are populated by a for loop as follows:-
#
#
# Put values into the fields
#
i = 0
for col, field in abookdb.dbcol.items():
print(field.heading)
if (i > numkeys/2):
self.addfieldentry(col, address, field, self.rtable, i-numkeys/2)
else:
self.addfieldentry(col, address, field, self.ltable, i)
i = i + 1
The for loop gets the items from the dictionary in an order that isn't
what I want. How can I configure things so they're in the order I want?
--
Chris Green
ยท
More information about the Python-list
mailing list