Community Data Science Course (Spring 2016)/Day 3 Notes: Difference between revisions
From CommunityData
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
* A | ==Dictionaries== | ||
* 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") |
Revision as of 23:05, 12 April 2017
Dictionaries
- 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")