Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images...

92
Midterm Tips and Dictionaries 2.0 CS106AP Lecture 14

Transcript of Midterm Tips and Dictionaries 2 - web.stanford.edu · Roadmap Programming Basics The Console Images...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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