程序代写CS代考 python CS 61A Lecture 10

CS 61A Lecture 10

Announcements

Lists
[‘Demo’]

Working with Lists
>>> digits = [1, 8, 2, 8]
The number of elements
>>> len(digits)
4
An element selected by its index
>>> digits = [2//2, 2+2+2+2, 2, 2*2*2]
>>> digits[3] 88
Concatenation and repetition
>>> [2, 7] + digits * 2
[2, 7, 1, 8, 2, 8, 1, 8, 2, 8]
Nested lists
>>> pairs = [[10, 20], [30, 40]]
>>> pairs[1]
[30, 40]
>>> pairs[1][0]
30
>>> getitem(digits, 3)
>>> add([2, 7], mul(digits, 2))
[2, 7, 1, 8, 2, 8, 1, 8, 2, 8]
4

Containers

Containers
Built-in operators for testing whether an element appears in a compound value
>>> digits = [1, 8, 2, 8] >>> 1 in digits
True
>>> 8 in digits
True
>>> 5 not in digits True
>>> not(5 in digits) True
(Demo)
6

For Statements
(Demo)

Sequence Iteration
def count(s, value):
total = 0
for element in s:
Name bound in the first frame
of the current environment
(not a new frame)
if element == value:
total = total + 1
return total
8

For Statement Execution Procedure
for in :

1. Evaluate the header , which must yield an iterable value (a sequence) 2. For each element in that sequence, in order:
A. Bind to that element in the current frame B. Execute the
9

Sequence Unpacking in For Statements
A sequence of 
 fixed-length sequences
>>> pairs = [[1, 2], [2, 2], [3, 2], [4, 4]]
>>> same_count = 0
A name for each element in a Each name is bound to a value, as in fixed-length sequence multiple assignment
>>> for x, y in pairs:
… ifx==y:
… same_count = same_count + 1
>>> same_count
2
10

Ranges

The Range Type
A range is a sequence of consecutive integers.*
…, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, …
range(-2, 2) Length: ending value – starting value
Element selection: starting value + index
(Demo)
>>> list(range(-2, 2))
[-2, -1, 0, 1]
>>> list(range(4))
[0, 1, 2, 3]
List constructor
Range with a 0 starting value
* Ranges can actually represent more general integer sequences.
12

List Comprehensions
>>> letters = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘m’, ‘n’, ‘o’, ‘p’]
>>> [letters[i] for i in [3, 4, 6, 8]]
[‘d’, ‘e’, ‘m’, ‘o’]

List Comprehensions
[

for in if ]
Short version: [

for in ]
A combined expression that evaluates to a list using this evaluation procedure: 1. Add a new frame with the current frame as its parent
2. Create an empty result list that is the value of the expression
3. For each element in the iterable value of :
A. Bind to that element in the new frame from step 1
B. If evaluates to a true value, then add the value of

to the result list
14

Strings

Strings are an Abstraction
Representing data:
‘200’ ‘1.2e-5’ ‘False’ ‘[1, 2]’
Representing language:
“””And, as imagination bodies forth
The forms of things unknown, the poet’s pen
Turns them to shapes, and gives to airy nothing
A local habitation and a name.
“””
Representing programs:
‘curry = lambda f: lambda x: lambda y: f(x, y)’
(Demo)
16

String Literals Have Three Forms
>>> ‘I am string!’
‘I am string!’
>>> “I’ve got an apostrophe”
“I’ve got an apostrophe”
>>> ‘’ ‘’
Single-quoted and double-quoted
strings are equivalent
>>> “””The Zen of Python
claims, Readability counts.
Read more: import this.”””
‘The Zen of Python\nclaims, Readability counts.\nRead more: import this.’
A backslash “escapes” the “Line feed” character following character represents a new line
17