Why is dictionary.keys() a list and not a set?
peter at engcorp.com
Thu Nov 24 02:52:04 CET 2005
Christoph Zwerschke wrote:
> Ok, the answer is easy: For historical reasons - built-in sets exist
> only since Python 2.4.
> Anyway, I was thinking about whether it would be possible and desirable
> to change the old behavior in future Python versions and let dict.keys()
> and dict.values() both return sets instead of lists.
Definitely not. I believe it's currently guaranteed that the order of
the items in dict.keys() and dict.values() will match (i.e. the index of
any key in its list will be the same as the index of the corresponding
value in its list). This property is almost certainly used in some
code, so it can't be broken without good reason.
More information about the Python-list