On 22/10/14 00:54, Clayton Kirkwood wrote:
As I’ve contemplated the usage of dictionaries, I face the question of
efficiency.

Don;t worry about it. Python dictionaries are highly efficient and used throughout the language. namespaces and classes are both effectively dictionaries so every time you use a variable name or class attribute (whether your own or a built-in) you are using a dictionary.

remember correctly dictionaries(assoc. arrays), having hashes, are
efficient for storing sparse arrays

They are sparce arrays using hashing for lookup.

traversal of the dictionary looking for the proper key, and being much
less efficient if looking for the value and trying to retrieve its key.

Indeed, that's why dictionaries don't have a get key for
value operation.

But it also depends on the hash key and algorithm and how many spaces
are “available” for filling.

Yes, and Python's hashing has been tuned and optimised over many years.

I’ve not had much use of dictionaries in the past so maybe I am missing
something.

You are using them all the time. Python is built on dictionaries.
They are very powerful and efficient.

As I contemplated dictionary use, it seems changing the order
of entries is best left to double single arrays

There is no order. The order may change in use and you have
no control over that. It's a Python internal detail and you as a programmer cannot mess with it.


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to