midterm tips and dictionaries 2 - web.stanford.edu · roadmap programming basics the console images...
TRANSCRIPT
![Page 1: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/1.jpg)
Midterm Tips and Dictionaries 2.0
CS106AP Lecture 14
![Page 2: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/2.jpg)
RoadmapProgramming Basics
The Console Images
Data structures
MidtermGraphics
Object-Oriented Programming
Everyday Python
Life after CS106AP!
Day 1!
![Page 3: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/3.jpg)
Images
The Console
Everyday PythonObject-Oriented Programming
MidtermGraphics
Programming Basics
Roadmap
Life after CS106AP!
Day 1!
Data structures
ListsFilesParsing: Strings
Dictionaries 1.0
Dictionaries 2.0
Nested Data Structures
![Page 4: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/4.jpg)
Today’s questions
How can I effectively prepare for the midterm?
How can I organize and examine my data?
![Page 5: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/5.jpg)
Today’s topics
1. How to Prepare for the Midterm
2. Review
3. Organizing Data
Dictionaries
Built-in Functions
4. What’s next?
![Page 6: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/6.jpg)
Midterm Preparation
![Page 7: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/7.jpg)
Midterm Logistics
● Monday, July 22 7:00-9:00pm at Hewlett 200
○ Please arrive 5-10 minutes early
● If you have an alternate exam, Nick will be in contact about time and
location
● Bring your own laptop! (+ charger)
![Page 8: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/8.jpg)
Midterm Logistics
● Closed-internet
● You are allowed 10 pages (double-sided) of notes
● We will provide a reference sheet of common functions for strings,
lists, dicts, etc.
○ We will publish it with the practice midterm
![Page 9: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/9.jpg)
Midterm Logistics
● You will need to download BlueBook, which is our test-taking software
○ Linked on our home page
● You should test out BlueBook beforehand!
![Page 10: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/10.jpg)
Midterm Practice
● We will publish the practice midterm tomorrow
● Nick will hold a midterm review session Friday 1:30-2:30pm in Gates B1
○ He will recap course content!
![Page 11: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/11.jpg)
Midterm Content
● Material is from Karel to what we cover in lecture today
○ (Wednesday, July 17, Lecture 14)
● Topics: Karel, console programs, strings, images, parsing,
lists, files, dicts
● Types of problems: trace, coding functions
● No Doctests required!
![Page 12: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/12.jpg)
How do I study for the midterm?
● Content Review
○ lecture slides, videos
● Content Application
○ practice exam, section problems, lecture examples
![Page 13: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/13.jpg)
How do I study for the midterm?
● Content Review
○ lecture slides, videos
● Content Application
○ practice exam, section problems, lecture examples
Content Application > Content Review!
![Page 14: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/14.jpg)
Midterm Studying Tips & Tricks
● Practice problems without looking at the solutions
○ practice exam (time yourself!), section problems, lecture examples
○ “I could have figured that out.” Be the change you want to see!
● Creating your notes as a way of reviewing concepts
○ writing by hand can help you remember!
○ summarize materials in your own words or quiz yourself!
![Page 15: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/15.jpg)
If you’re studying and get stuck/get a problem wrong...
● Read over the solution
● Then, come back later and solve the problem again without looking at
the solution
○ “Reps” (repetitions) can help you learn!
![Page 16: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/16.jpg)
If you’re stuck when solving a problem...
![Page 17: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/17.jpg)
If you’re stuck when solving a problem...
● Make a drawing
![Page 18: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/18.jpg)
If you’re stuck when solving a problem...
● Make a drawing
● Write down the inputs and outputs
![Page 19: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/19.jpg)
If you’re stuck when solving a problem...
● Make a drawing
● Write down the inputs and outputs
● Describe in your own words what task you want to accomplish
![Page 20: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/20.jpg)
If you’re stuck when solving a problem...
● Make a drawing
● Write down the inputs and outputs
● Describe in your own words what task you want to accomplish
○ Then use top-down decomposition and/or pseudocode
![Page 21: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/21.jpg)
If you’re stuck when solving a problem...
● Make a drawing
● Write down the inputs and outputs
● Describe in your own words what task you want to accomplish
○ Then use top-down decomposition and/or pseudocode
● Look over the reference sheet and think about what concepts might
help you accomplish that task!
![Page 22: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/22.jpg)
Midterm Strategy
● We don’t mark you down for syntax errors (e.g. typos, missing ‘:’)
unless we can’t tell what you meant.
● We want to give you partial credit!
○ Show your work and describe your thought process even if you’re
not 100% sure
![Page 23: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/23.jpg)
Review
![Page 24: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/24.jpg)
DictionaryA container data type that maps “keys” to their
associated “values”.
Definition
Adapted from Jon Skeet
![Page 25: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/25.jpg)
Anatomy of a Dictionary - Get/Set
>>> d[‘hansa’]
4
this operation is called “get”
dict
‘hansa’‘kandula’‘lumpy’‘surus’
4326
keys values
![Page 26: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/26.jpg)
Anatomy of a Dictionary - Get/Set
>>> d[‘hansa’]
4
>>> d[‘hansa’] = 5
this operation is called “set”
dict
‘hansa’‘kandula’‘lumpy’‘surus’
5326
keys values
![Page 27: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/27.jpg)
Anatomy of a Dictionary - Get/Set
>>> d[‘hansa’]
4
>>> d[‘hansa’] = 5
Note: get and set are fast!
dict
‘hansa’‘kandula’‘lumpy’‘surus’
5326
keys values
![Page 28: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/28.jpg)
Dictionaries + in
>>> ‘hansa’ in d
True
>>> ‘nick’ not in d
True
dict
‘hansa’‘kandula’‘lumpy’‘surus’
5326
keys values
Common pattern:Check if key is present. If it is, do something. If it isn’t, do something else.
![Page 29: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/29.jpg)
Building a Dictionary
>>> d = {}
>>> d[‘hansa’] = 3
>>> d
{‘hansa’: 3}we can add keys using “set”!
create an empty dictionary
![Page 30: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/30.jpg)
Building a Dictionary
>>> d = {‘hansa’: 3}
>>> d[‘hansa’] += 2
>>> d
{‘hansa’: 5}we can get/set on the same line!(same as d[‘hansa’] = d[‘hansa’] + 2)
![Page 31: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/31.jpg)
Summary
>>> d = {} # new dict
>>> d[‘hansa’] = 2 # set
>>> d[‘hansa’] # get
2
>>> ‘hansa’ in d # check membership
True
![Page 32: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/32.jpg)
Think/Pair/Share:Write a program that counts the number of times each word occurs in a file and outputs a word to word_count dict.
Input: filename
![Page 33: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/33.jpg)
How can I organize and examine my data?
![Page 34: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/34.jpg)
Types of Dictionaries
● So far, we’ve seen dictionaries mapping from strings to ints
![Page 35: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/35.jpg)
Types of Dictionaries
● So far, we’ve seen dictionaries mapping from strings to ints
○ This is not the only type of dictionary!
![Page 36: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/36.jpg)
Types of Dictionaries
● So far, we’ve seen dictionaries mapping from strings to ints
○ This is not the only type of dictionary!
○ You can map from string/int/float to string/int/float...
![Page 37: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/37.jpg)
Types of Dictionaries
● So far, we’ve seen dictionaries mapping from strings to ints
○ This is not the only type of dictionary!
○ You can map from string/int/float to string/int/float...
■ ...and more! (coming tomorrow)
![Page 38: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/38.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 39: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/39.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> d.keys()
![Page 40: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/40.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> d.keys()
dict_keys(['Gates', 'MemChu', 'Tresidder'])
![Page 41: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/41.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> d.keys()
dict_keys(['Gates', 'MemChu', 'Tresidder'])
iterable collection of all the keys.iterable means it can be used in foreach
![Page 42: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/42.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.keys())
![Page 43: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/43.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.keys())
[‘Gates’, ‘MemChu’, ‘Tresidder’]
![Page 44: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/44.jpg)
Accessing a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.keys())
[‘Gates’, ‘MemChu’, ‘Tresidder’]
we are using list() to convert d.keys() into a list
![Page 45: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/45.jpg)
Accessing a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 46: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/46.jpg)
Accessing a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.values())
![Page 47: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/47.jpg)
Accessing a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.values()) we are using list() to convert d.values() into a list
![Page 48: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/48.jpg)
Accessing a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> list(d.values())
[23, 116, 57]
we are using list() to convert d.values() into a list
![Page 49: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/49.jpg)
Looping over a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 50: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/50.jpg)
Looping over a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building in d.keys():
![Page 51: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/51.jpg)
Looping over a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building in d.keys():
... print(building)
![Page 52: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/52.jpg)
Looping over a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building in d.keys():
... print(building)
Gates
MemChu
Tresidder
![Page 53: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/53.jpg)
Looping over a Dictionary’s Keys
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building in d.keys():
... print(building)
Gates
MemChu
Tresidder
we can use foreach on the dictionary’s keys!
![Page 54: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/54.jpg)
Looping over a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 55: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/55.jpg)
Looping over a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for age in d.values():
![Page 56: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/56.jpg)
Looping over a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for age in d.values():
... print(age)
![Page 57: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/57.jpg)
Looping over a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for age in d.values():
... print(age)
23
116
57
![Page 58: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/58.jpg)
Looping over a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for age in d.values():
... print(age)
23
116
57
we can use foreach on the dictionary’s values!
![Page 59: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/59.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 60: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/60.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
![Page 61: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/61.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():items() gives us key, value pairs
![Page 62: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/62.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, ‘is’, age, ‘years old.’)
items() gives us key, value pairs
![Page 63: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/63.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, ‘is’, age, ‘years old.’)
Gates is 23 years old.
MemChu is 116 years old.
Tresidder is 57 years old.
items() gives us key, value pairs
![Page 64: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/64.jpg)
Looping over a Dictionary’s Keys and Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, ‘is’, age, ‘years old.’)
Gates is 23 years old.
MemChu is 116 years old.
Tresidder is 57 years old.
print() will automatically concatenate args separated by commas!
![Page 65: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/65.jpg)
Printing with sep=
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, age, sep=‘: ’)
![Page 66: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/66.jpg)
Printing with sep=
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, age, sep=‘: ’)
sep is an optional argument like end!
![Page 67: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/67.jpg)
Printing with sep=
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, age, sep=‘: ’)
Gates: 23
MemChu: 116
Tresidder: 57
sep is an optional argument like end!
![Page 68: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/68.jpg)
Printing with sep=
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, age, sep=‘: ’)
Gates: 23
MemChu: 116
Tresidder: 57
the separating string will be printed between the arguments you pass into print()
![Page 69: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/69.jpg)
Printing with sep=
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> for building, age in d.items():
... print(building, age, sep=‘: ’)
Gates: 23
MemChu: 116
Tresidder: 57
the default is sep=‘ ’(insert space)
![Page 70: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/70.jpg)
Getting a Sorted List of Keys
>>>d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
![Page 71: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/71.jpg)
Getting a Sorted List of Keys
>>> d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
>>> sorted(d.keys())
![Page 72: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/72.jpg)
Getting a Sorted List of Keys
>>> d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
>>> sorted(d.keys())
['Gates', 'MemChu', 'Tresidder']
![Page 73: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/73.jpg)
Getting a Sorted List of Keys
>>> d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
>>> sorted(d.keys())
['Gates', 'MemChu', 'Tresidder']
sorted() returns a list in alphabetical order!
![Page 74: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/74.jpg)
Getting a Sorted List of Keys
>>> d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
>>> sorted(d.keys())
['Gates', 'MemChu', 'Tresidder']
>>> d
![Page 75: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/75.jpg)
Getting a Sorted List of Keys
>>> d = {‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
>>> sorted(d.keys())
['Gates', 'MemChu', 'Tresidder']
>>> d
{‘Gates’: 23, ‘Tresidder’: 57, ‘MemChu’: 116}
![Page 76: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/76.jpg)
Sorting a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 77: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/77.jpg)
Sorting a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> sorted(d.values())
![Page 78: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/78.jpg)
Sorting a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> sorted(d.values())
[23, 57, 116]
![Page 79: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/79.jpg)
Sorting a Dictionary’s Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> sorted(d.values())
[23, 57, 116]
sorted() returns a list in numerical order!
![Page 80: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/80.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
![Page 81: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/81.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
![Page 82: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/82.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
returns the smallest element!
![Page 83: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/83.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
23 returns the smallest element!
![Page 84: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/84.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
23
>>> max(d.values())
returns the smallest element!
![Page 85: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/85.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
23
>>> max(d.values())
returns the smallest element!
returns the biggest element!
![Page 86: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/86.jpg)
Retrieving Min/Max Values
>>> d = {‘Gates’: 23, ‘MemChu’: 116, ‘Tresidder’: 57}
>>> min(d.values())
23
>>> max(d.values())
116
returns the smallest element!
returns the biggest element!
![Page 87: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/87.jpg)
Built-in FunctionA function built into Python that is always
available for use.
Definition
![Page 88: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/88.jpg)
Examples of Built-ins
print()input()str()int()float()len()
open()list()sorted()max()min()
![Page 89: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/89.jpg)
Examples of Built-ins
print()input()str()int()float()len()
open()list()sorted()max()min()
![Page 90: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/90.jpg)
What’s next?
![Page 91: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/91.jpg)
What’s next?
dict
‘hansa’‘kandula’‘lumpy’‘surus’
keys values
Image from Allie Brosh
![Page 92: Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images Data structures Midterm Graphics Object-Oriented Programming Everyday Python Life](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11479d6be591ccb641f98/html5/thumbnails/92.jpg)
Images
The Console
Everyday PythonObject-Oriented Programming
MidtermGraphics
Programming Basics
Roadmap
Life after CS106AP!
Day 1!
Data structures
ListsFilesParsing: Strings
Dictionaries 1.0
Dictionaries 2.0
Nested Data Structures