Lecture 22 — Dictionaries, Part 1¶
Overview¶
Dictionaries and dictionary operations
Solutions to the problem of counting how many items are associated with each category in Customers.txt files
Other applications
Introduction to Dictionaries¶
Association between “keys” (like words in an English dictionary) and “values” (like definitions in an English dictionary). The values can be anything.
Examples:
>>> children = dict() >>> children = {} # either of these works >>> children['Sam'] = 11 >>> children['Peter'] = 12 >>> children['Alice'] = 10 >>> children['Jon'] = 13 >>> children {'Sam': 11, 'Peter': 12, 'Alice': 10, 'Jon': 13} >>> 'Sam' in children True >>> 'Luke' in children False >>> 13 in children False >>> list(children.keys()) ['Sam', 'Peter', 'Alice', 'Jon'] >>> sorted(children.keys()) ['Alice', 'Jon', 'Peter', 'Sam'] >>> children.values() dict_values([11, 12, 10, 13]) >>> list(children.values()) [11, 12, 10, 13]
Details:
Two initializations; either would work.
Syntax is very much like the subscripting syntax for lists, except dictionary subscripting/indexing uses keys instead of integers!
The keys, in this example, are children names and the values are their age (integers).
The
in
method tests only for the presence of the key, like looking up a word in the dictionary without checking its definition.The keys are NOT ordered.
Just as in sets, the implementation uses hashing of keys.
Conceptually, sets are dictionaries without values.