On 2011/11/23 03:04 PM, Cranky Frankie wrote:
In playing around with Pyton 3 dictionaries I've come up with 2 questions

1) How are duplicate keys handled? For example:

Qb_Dict = {"Montana": ["Joe", "Montana", "415-123-4567",
"[email protected]","Candlestick Park"],
"Tarkington": ["Fran", "651-321-7657", "[email protected]",
"Metropolitan Stadidum"],
"Namath": ["Joe", "212-222-7777", "[email protected]", "Shea Stadium"],
"Elway": ["John", "303-9876-333", "[email protected]", "Mile High Stadium"],
"Elway": ["Ed", "303-9876-333", "[email protected]", "Mile High
Stadium"],
"Manning": ["Archie","504-888-1234", "[email protected]",
"Louisiana Superdome"],
"Staubach": ["Roger","214-765-8989", "[email protected]",
"Cowboy Stadium"]}

print(Qb_Dict["Elway"],"\n")                        # print a dictionary entry

In the above the "wrong" Elway entry, the second one, where the first
name is Ed, is getting printed. I just added that second Elway row to
see how it would handle duplicates and the results are interesting, to
say the least.

2) Is there a way to print out the actual value of the key, like
Montana would be 0, Tarkington would be 1, etc?

A dictionary is simply a Key:Value store and keys are unique. You're overwriting your first "Elway" entry with the second one when it's being "captured". If you want to keep duplicate "key" values you'll need to re-look at what data structure you want to use, you can keep using a dictionary but then you'll need to change the value side of it perhaps like `{key: {key: value, key: value}}` so you end up with `{'Elway': {'John': [tel_num, email, home_ground], 'Ed': [tel_num, email, home_ground]}}` or some other implementation specific to your requirements.

As for your second question, the value of the key is a hash. So to get the value, you'll need to find what hashing algorithm is used by default for dictionaries and use that to get the value of it yourself.

--

Christian Witts
Python Developer
//
_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to