Latest revision |
Your text |
Line 1: |
Line 1: |
| ==Dictionaries==
| | * A <code>list</code> is useful to store an ordered set of items that are indexed by integers. |
| | | * A <code>dict</code> or dictionary is a way to store key/value pairs. |
| * Use dictionaries to store key/value pairs.
| |
| * Dictionaries do not guarantee ordering.
| |
| * A given key can only have one value, but multiple keys can have the same value. | |
| | |
| ====Initialization====
| |
| | |
| >>> my_dict = {}
| |
| >>> my_dict
| |
| {}
| |
| >>> your_dict = {"Alice" : "chocolate", "Bob" : "strawberry", "Cara" : "mint chip"}
| |
| >>> your_dict
| |
| {'Bob': 'strawberry', 'Cara': 'mint chip', 'Alice': 'chocolate'}
| |
| | |
| ====Adding elements to a dictionary====
| |
| | |
| >>> your_dict["Dora"] = "vanilla"
| |
| >>> your_dict
| |
| {'Bob': 'strawberry', 'Cara': 'mint chip', 'Dora': 'vanilla', 'Alice': 'chocolate'}
| |
| | |
| ====Accessing elements of a dictionary====
| |
| | |
| >>> your_dict["Alice"]
| |
| 'chocolate'
| |
| >>> your_dict.get("Alice")
| |
| 'chocolate'
| |
| | |
| >>> your_dict["Eve"]
| |
| Traceback (most recent call last):
| |
| File "<stdin>", line 1, in <module>
| |
| KeyError: 'Eve'
| |
| >>> "Eve" in your_dict
| |
| False
| |
| >>> "Alice" in your_dict
| |
| True
| |
| >>> your_dict.get("Eve")
| |
| >>> person = your_dict.get("Eve")
| |
| >>> print(person)
| |
| None
| |
| >>> print(type(person))
| |
| <type 'NoneType'>
| |
| >>> your_dict.get("Alice")
| |
| 'chocolate'
| |
| | |
| ====Changing elements of a dictionary====
| |
| | |
| >>> your_dict["Alice"] = "coconut"
| |
| >>> your_dict
| |
| {'Bob': 'strawberry', 'Cara': 'mint chip', 'Dora': 'vanilla', 'Alice': 'coconut'}
| |
| | |
| ====Histograms====
| |
| | |
| '''Challenge''': using wordplay example from last week, count the number of words that start with each letter.
| |
| | |
| This kind of problem is very common Data Science, and it is easy with a dictionary.
| |
| | |
| (note: I will post the solution after class)
| |
| | |
| ====For-loops and dictionaries====
| |
| | |
| There are two common ways to iterate through dictionaries:
| |
| | |
| >>> ages = {'Tommy': 32, Zula: '9', 'Joanna': 18}
| |
| >>> for key in ages:
| |
| >>> print(key + " is " + str(ages[key]) + " years old")
| |
| | |
| >>> for key, value in ages.items():
| |
| >>> print(key + " is " + str(value) + " years old")
| |