W08B Full
W08B Full
W08B Full
1. Introduction to Tuples
3. Tasks
2 / 12
Definition 1 (Tuple)
A tuple is an ordered sequence of elements. An n-tuple is a tuple
with exactly n elements.
Round brackets () are used to create tuples in Python.
1 >>> xs = (1, 2)
2 >>> type(xs)
3 <class 'tuple'>
3 / 12
Tuples, like strings and unlike lists, are immutable. They can be
indexed and sliced.
1 >>> xs[0]
2 1
3 >>> xs[0] = 2
4 TypeError: 'tuple' object does not support item
5 assignment
4 / 12
Dictionary Warmup
Task 1
5 / 12
Nesting Dictionaries
1 >>> book_series = {
2 ... 'Animorphs':
3 ... {'author': 'K.A. Applegate', 'number': 54, 'genre': 'middle grade'},
4 ... 'Inheritance Games':
5 ... {'author': 'Jennifer Lynn Barnes', 'number': 2, 'genre': 'adult'},
6 ... 'Shopaholic':
7 ... {'author': 'Sophie Kinsella', 'number': 10, 'genre': 'adult'}
8 ... }
9 >>> book_series['Animorphs']['author']
10 'K.A. Applegate'
6 / 12
1 >>> for series in book_series:
2 ... for detail in book_series[series]:
3 ... print(detail, book_series[series][detail])
4 author K.A. Applegate
5 number 54
6 genre middle grade
7 author' Jennifer Lynn Barnes
8 number 2
9 genre adult
10 author Sophie Kinsella
11 number 10
12 genre adult
7 / 12
Task 2
1 def find_books(book_series: dict[str, dict], genre: str) -> list[str]:
2 """Return a list of all book series in genre.
3 >>> find_books(book_series, 'adult')
4 ['Inheritance Games', 'Shopaholic']
5 """
8 / 12
9 / 12
Trie as Dictionary
trie = {
't': {
'h': {
'a': {'t': {}},
'e': {'r': {'e':{}}},
'i': {'s': {}}
}
},
'd': ...
}
10 / 12
Task 3
The code in trie.py will generate tries for you. Then implement:
11 / 12
Next Time
12 / 12