CS 1110: Introduction to Computing Using Python Lists and Sequences

Size: px
Start display at page:

Download "CS 1110: Introduction to Computing Using Python Lists and Sequences"

Transcription

1 CS : Introduction to Computing Using Python Lecture Lists and Sequences [Andersen, Gries, Lee, Marschner, Van Loan, White]

2 Prelim Lecture Announcements Date: Tuesday, March 4th, 7:3 pm to 9: pm Submit conflicts immediately through CMS A: You must scan or take a picture of your work to submit it through CMS Since you have been warned to submit early, do not expect that we will accept work that does not make it onto CMS on time. Set CMS notifications to receive all s! 3//7 Lists & Sequences

3 Sequences: Lists of Values s = 'abc d' String 3 4 List x = [, 6,, 9,, 3] 3 4 a b c d Put characters in quotes Use \' for quote character Access characters with [] s[] is 'a' s[] causes an error s[:] is 'ab' (excludes c) s[:] is 'c d' Put values inside [ ] Separate by commas Access values with [] x[] is x[6] causes an error x[:] is [, 6] (excludes nd ) x[3:] is [9,, 3] 3//7 Lists & Sequences 3

4 Sequences: Lists of Values s = 'abc d' String 3 4 List x = [, 6,, 9,, 3] 3 4 a b c d Put characters in quotes Use \' for quote character Access characters with [] s[] is 'a' s[] causes an error s[:] is 'ab' (excludes c) s[:] is 'c d' Put values inside [ ] Separate by commas Access values with [] x[] is x[6] causes an error x[:] is [, 6] (excludes nd ) x[3:] is [9,, 3] 3//7 Lists & Sequences 4

5 Lists Have Methods Similar to String x = [, 6,, 9,, 3] <list>.index(<value>) Return position of the value ERROR if value is not there x.index(9) evaluates to 3 <list>.count(<value>) Returns number of times value appears in list x.count() evaluates to But you get length of a list with a regular function, not method: len(x) 3//7 Lists & Sequences

6 Things that Work for All Sequences s = slithy x = [, 6, 9, 6,, ] s.index( s ) s.count( t ) len(s) 6 s[4] h s[:3] li s[3:] thy s[ ] h s + toves slithy toves s * slithyslithy t in s True methods built-in fn. slicing operators x.index() x.count(6) len(x) 6 x[4] x[:3] [6, 9] x[3:] [6,, ] x[ ] x + [, ] [, 6, 9, 6,,,, ] x * [, 6, 9, 6,,,, 6, 9, 6,, ] in x True 3//7 Lists & Sequences 6

7 Difference: Lists Can Hold Any Type a list of integers H e l l o World a list of strings id id id 3 id4 4 id3 a list of objects of class Point a joy 4.3 id id3 id a list of values of various types id id id3 3//7 Lists & Sequences 7 Point Point id4 Point id Point Point

8 Representing Lists Wrong Correct x, 6, 7, - x id Unique tab identifier Variable holds id id x = [, 7, 4,-] Indices 3//7 Lists & Sequences 8

9 Lists vs. Class Objects List Attributes are indexed Example: x[] Objects Attributes are named Example: p.x x id p id3 id id3 list Point x. y. z 3. 3//7 Lists & Sequences 9

10 List Assignment Format: <var>[<index>] = <value> Reassign at index Affects folder contents Variable is unchanged x = [, 7,4,-] x[] = 8 id x id //7 Lists & Sequences

11 List Assignment Format: <var>[<index>] = <value> Reassign at index Affects folder contents Variable is unchanged Strings cannot do this s = 'Hello World!' s[] = 'J' ERROR String are immutable x = [, 7,4,-] 3 x8 7 x[] = 8 x id 4-3 id x 8 3//7 Lists & Sequences

12 Lists and Expressions List brackets [] can contain expressions This is a list expression Python must evaluate it Evaluates each expression Puts the value in the list Example: >>> a = [+,3+4,+6] >>> a [3, 7, ] Execute the following: >>> a = >>> b = 7 >>> x = [a, b, a+b] What is x[]? >>> 3//7 Lists & Sequences

13 List Methods Can Alter the List x = [, 6,, 9] <list>.append(<value>) Procedure, not a fruitful method Adds a new value to the end of list x.append(-) changes the list to [, 6,, 9, -] <list>.insert(<index>,<value>) Procedure, not a fruitful method Puts value into list at index; shifts rest of list right x.insert(,-) changes the list to [, 6, -,, 9] <list>.sort() See Python API for more What do you think this does? 3//7 Lists & Sequences 4

14 Execute the following: >>> x = [, 6,, 9, ] >>> x[3] = - >>> x.insert(, ) What is x[4]? A: B: 9 C: - D: ERROR E: I don t know Clicker Exercise 3//7 Lists & Sequences

15 From Before: Attribute Assignment import geom p = geom.point3(.,.,3.) q = geom.point3(3.,4.,.) swap_x(p, q) def swap_x(p, q): t = p.x p.x = q.x 3 q.x = t swaps p.x and q.x import geom p = geom.point3(.,.,3.) q = geom.point3(3.,4.,.) swap(p, q) def swap(p, q): t = p p = q 3 q = t DOES NOT swap global p and q 3//7 Lists & Sequences 6

16 def swap(b, h, k): Lists and Functions: Swap """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 x = [,4,7,6,] swap(x, 3, 4) print x[3] What gets printed? A: B: 6 C: Something else D: I don t know 3//7 Lists & Sequences 7 x 3 id4 id

17 Lists and Functions: Swap def swap(b, h, k): """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 swap x = [,4,7,6,] swap(x, 3, 4) print x[3] b id4 h 3 k 4 3 id x id4 3//7 Lists & Sequences 8

18 Lists and Functions: Swap def swap(b, h, k): """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 swap x = [,4,7,6,] swap(x, 3, 4) print x[3] b id4 h 3 temp 6 k 4 3 id x id4 3//7 Lists & Sequences 9

19 Lists and Functions: Swap def swap(b, h, k): """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 swap x = [,4,7,6,] swap(x, 3, 4) print x[3] b id4 h 3 temp 6 k id x id4 3//7 Lists & Sequences

20 Lists and Functions: Swap def swap(b, h, k): """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 swap x = [,4,7,6,] swap(x, 3, 4) print x[3] b id4 h 3 temp 6 k 4 3 id x id4 3//7 Lists & Sequences

21 Lists and Functions: Swap def swap(b, h, k): """Procedure swaps b[h] and b[k] in b Precondition: b is a mutable list, h and k are valid positions in the list"" temp= b[h] b[h]= b[k] b[k]= temp 3 What gets printed? x = [,4,7,6,] swap(x, 3, 4) print x[3] A: B: 6 C: Something else D: I don t know Swaps b[h] and b[k], because parameter b contains name of list. x 3 id4 id //7 Lists & Sequences

22 List Slices Make Copies x = [, 6,, 9] y = x[:3] x id y id6 id list id6 list copy = new folder 3//7 Lists & Sequences 3

23 Clicker Exercises Execute the following: >>> x = [, 6,, 9, ] >>> y = x[:] >>> y[] = 7 What is x[]? A: 7 B: C: 6 D: ERROR E: I don t know Execute the following: >>> x = [, 6,, 9, ] >>> y = x >>> y[] = 7 What is x[]? A: 7 B: C: 6 D: ERROR E: I don t know 3//7 Lists & Sequences 4

24 Lists of Objects List positions are variables Can store base types But cannot store folders Can store folder ids Folders linking to folders Top folder for the list Other folders for contents Example: >>> p = Point3(.,., 3.) >>> p = Point3(4.,., 6.) >>> p3 = Point3(7., 8., 9.) >>> x = [p,p,p3] p id p id p3 id x id3 id Point3 x. y. z 3. id Point3 x 4. y. z 6. id3 id id id id list Point3 x 7. y 8. z 9. 3//7 Lists & Sequences

25 Lists of Objects Example: >>> p = Point3(.,., 3.) p id id3 list >>> p = Point3(4.,., 6.) >>> p3 = Point3(7., 8., 9.) >>> x = [p,p,p3] p p3 x id id id3 id id id How do I get this y? >>> x[].y id Point3 x. y. z 3. id Point3 x 4. y. z 6. id Point3 x 7. y 8. z 9. 3//7 Lists & Sequences 6

26 Lists and Strings Go Hand in Hand text.split(<sep>): return a list of the words in text (separated by <sep>, or whitespace by default) <sep>.join(words): concatenate the items in the list of strings words, separated by <sep>. returns a list of two strings text = 'A sentence is just\na list of words' words = text.split() lines = text.split('\n') print '-'.join(words) print '-'.join(lines[].split() + lines[].split()) [ A, sentence, is, just, a, ] A-sentence-is-just-a A-sentence-is-just a-list-of-words 3//7 Lists & Sequences 7

27 Example: Poetry Can we read a poem and count the number of: characters words lines stanzas 3//7 Lists & Sequences 8

28 Iteration To process a list, you often want to do the same thing to each item in the list. One way to do this: The map function: map( function, list ) Call the function once for each item in the list, with the list item as the argument, and put the return values into a list. 3//7 Lists & Sequences 9

29 The Map Function map( function, list ) Function has to have exactly parameter Otherwise, get an error Returns a new list Does the same thing as def map(f,x): result = [] # empty list for y in x: result.append(f(y)) return result map(f, x) [f(x[]), f(x[]),, f(x[n ])] calls the function f once for each item map(len, ['a', 'bc', 'defg']) returns [,, 4] 3//7 Lists & Sequences 3

Lecture 10: Lists and Sequences

Lecture 10: Lists and Sequences http://www.cs.cornell.edu/courses/cs/8sp Lecture : Lists and Sequences (Sections.-.,.4-.6,.8-.) CS Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van

More information

Lecture 12. Lists (& Sequences)

Lecture 12. Lists (& Sequences) Lecture Lists (& Sequences) Announcements for Today Reading Read 0.0-0., 0.4-0.6 Read all of Chapter 8 for Tue Prelim, Oct th 7:30-9:30 Material up to October 3rd Study guide net week Conflict with Prelim

More information

CS1110. Lecture 6: Function calls

CS1110. Lecture 6: Function calls CS1110 Lecture 6: Function calls Announcements Additional space in labs: We have added some space and staffing to the 12:20 and 1:25 labs on Tuesday. There is still space to move into these labs. Printed

More information

CS1110. Lecture 6: Function calls

CS1110. Lecture 6: Function calls CS1110 Lecture 6: Function calls Announcements Grades for Lab 1 should all be posted in CMS. Please verify that you have a 1 if you checked off the lab. Let course staff know if your grade is missing!

More information

Conditionals & Control Flow

Conditionals & Control Flow CS 1110: Introduction to Computing Using Python Lecture 8 Conditionals & Control Flow [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements: Assignment 1 Due tonight at 11:59pm. Suggested early

More information

Iteration and For Loops

Iteration and For Loops CS 1110: Introduction to Computing Using Python Lecture 11 Iteration and For Loops [Andersen, Gries, Lee, Marschner, Van Loan, White] Rooms: Announcements: Prelim 1 aa200 jjm200 Baker Laboratory 200 jjm201

More information

CS 1110: Introduction to Computing Using Python Loop Invariants

CS 1110: Introduction to Computing Using Python Loop Invariants CS 1110: Introduction to Computing Using Python Lecture 21 Loop Invariants [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements Prelim 2 conflicts due by midnight tonight Lab 11 is out Due

More information

Lecture 26: Sorting CS 1110 Introduction to Computing Using Python

Lecture 26: Sorting CS 1110 Introduction to Computing Using Python http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 26: Sorting CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White] Academic

More information

CS Lecture 19: Loop invariants

CS Lecture 19: Loop invariants CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the

More information

Lecture 24: Loop Invariants

Lecture 24: Loop Invariants http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 24: Loop Invariants [Online Reading] CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van

More information

Lecture 11: Iteration and For-Loops

Lecture 11: Iteration and For-Loops http://www.cs.cornell.edu/courses/cs0/08sp Lecture : Iteration and For-Loops (Sections 4. and 0.3) CS 0 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C.

More information

Announcements For This Lecture

Announcements For This Lecture Lecture 4 Strings Announcements For This Lecture Chapter 8 Readings 8.1, 8.2, 8.4, 8.5 Avoid for-loop sections Next Lab More expression tables Testing functions Assignment 1 Will post it on Monday Need

More information

Lecture 20: While Loops (Sections 7.3, 7.4)

Lecture 20: While Loops (Sections 7.3, 7.4) http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 20: While Loops (Sections 7.3, 7.4) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van

More information

Lecture 7: Objects (Chapter 15) CS 1110 Introduction to Computing Using Python

Lecture 7: Objects (Chapter 15) CS 1110 Introduction to Computing Using Python htt://www.cs.cornell.edu/courses/cs1110/2018s Lecture 7: Objects (Chater 15) CS 1110 Introduction to Comuting Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

isinstance and While Loops

isinstance and While Loops CS 1110: Introduction to Computing Using Python Lecture 20 isinstance and While Loops [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements A4: Due 4/20 at 11:59pm Should only use our str method

More information

Lecture 7. Memory in Python

Lecture 7. Memory in Python Lecture 7 Memory in Python Announcements For This Lecture Readings Reread Chapter 3 No reading for Thursday Lab Work on Assignment Credit when submit A Nothing else to do Assignment Moved to Fri, Sep.

More information

Lecture 7. Scientific Computation

Lecture 7. Scientific Computation Lecture 7 Scientific Computation for-loops: Beyond Sequences Work on iterable objects Object with an ordered collection of data This includes sequences But also much more Examples: Text Files (built-in)

More information

Lecture 5: Strings

Lecture 5: Strings http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 5: Strings (Sections 8.1, 8.2, 8.4, 8.5, 1 st paragraph of 8.9) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries,

More information

Announcements for this Lecture

Announcements for this Lecture Lecture 6 Objects Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember survey Assignment 1 Assignment 1 is live Posted on web page Due Thur, Sep. 18 th Due

More information

Lecture 5. Defining Functions

Lecture 5. Defining Functions Lecture 5 Defining Functions Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember the survey Readings Sections 3.5 3.3 today Also 6.-6.4 See online readings

More information

Lecture 19: Subclasses & Inheritance (Chapter 18)

Lecture 19: Subclasses & Inheritance (Chapter 18) http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 19: Subclasses & Inheritance (Chapter 18) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

Announcements For This Lecture

Announcements For This Lecture Lecture 5 Strings Announcements For This Lecture Assignment 1 Will post it on Sunday Need one more lecture But start reading it Dues Wed Sep. 19 th Revise until correct This is Yom Kippur This is as late

More information

Lecture 8: Conditionals & Control Flow (Sections ) CS 1110 Introduction to Computing Using Python

Lecture 8: Conditionals & Control Flow (Sections ) CS 1110 Introduction to Computing Using Python http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 8: Conditionals & Control Flow (Sections 5.1-5.7) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

Lecture 17: Classes (Chapter 15)

Lecture 17: Classes (Chapter 15) http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 17: Classes (Chapter 15) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

CS1110. Lecture 22: Prelim 2 Review Session. Announcements. Processed prelim regrade requests: on the front table.

CS1110. Lecture 22: Prelim 2 Review Session. Announcements. Processed prelim regrade requests: on the front table. CS1110 Lecture 22: Prelim 2 Review Session Announcements Processed prelim regrade requests: on the front table. Reminders: Exam: 7:30 9:00PM, Tuesday Apr 16 th Kennedy 116 (Call Auditorium, same as before).

More information

Lecture 8. Conditionals & Control Flow

Lecture 8. Conditionals & Control Flow Lecture 8 Conditionals & Control Flow Announcements For This Lecture Readings Sections 5.1-5.7 today Chapter 4 for Tuesday Assignment 2 Posted Today Written assignment Do while revising A1 Assignment 1

More information

Lecture 4: Defining Functions (Ch ) CS 1110 Introduction to Computing Using Python

Lecture 4: Defining Functions (Ch ) CS 1110 Introduction to Computing Using Python http://www.cs.cornell.edu/courses/cs0/209sp Lecture 4: Defining Functions (Ch..4-.) CS 0 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

Lecture 10. Memory in Python

Lecture 10. Memory in Python Lecture 0 Memory in Python Announcements For This Lecture Reading Reread all of Chapter 3 Assignments Work on your revisions Want done by Sunday Survey: 50 responded Remaining do by tomorrow Avg Time:

More information

Lecture 2: Variables & Assignments

Lecture 2: Variables & Assignments http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 2: Variables & Assignments (Sections 2.1-2.3,2.5) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

CS 1110 Prelim 1 October 4th, 2012

CS 1110 Prelim 1 October 4th, 2012 CS 1110 Prelim 1 October 4th, 01 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more

More information

CS 1110, LAB 3: STRINGS; TESTING

CS 1110, LAB 3: STRINGS; TESTING CS 1110, LAB 3: STRINGS; TESTING http://www.cs.cornell.edu/courses/cs1110/2017sp/labs/lab03.pdf First Name: Last Name: NetID: Getting Credit: Deadline: the first 10 minutes of (your) lab two weeks from

More information

PREPARING FOR PRELIM 1

PREPARING FOR PRELIM 1 PREPARING FOR PRELIM 1 CS 1110: FALL 2012 This handout explains what you have to know for the first prelim. There will be a review session with detailed examples to help you study. To prepare for the prelim,

More information

Lecture 14. Nested Lists and Dictionaries

Lecture 14. Nested Lists and Dictionaries Lecture 14 Nested Lists and Dictionaries Announcements for This Lecture Readings Today: Chapter 11 Next Week: Sec. 5.8-5.10 Prelim, Oct 12 th 7:30-9:00 Material up to TUESDAY Study guide is posted Review

More information

CS 1110 Prelim 1 October 15th, 2015

CS 1110 Prelim 1 October 15th, 2015 CS 1110 Prelim 1 October 15th, 2015 This 90-minute exam has 6 uestions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more

More information

CS 1110, LAB 1: EXPRESSIONS AND ASSIGNMENTS First Name: Last Name: NetID:

CS 1110, LAB 1: EXPRESSIONS AND ASSIGNMENTS   First Name: Last Name: NetID: CS 1110, LAB 1: EXPRESSIONS AND ASSIGNMENTS http://www.cs.cornell.edu/courses/cs1110/2018sp/labs/lab01/lab01.pdf First Name: Last Name: NetID: Learning goals: (1) get hands-on experience using Python in

More information

Lecture 4: Defining Functions

Lecture 4: Defining Functions http://www.cs.cornell.edu/courses/cs0/208sp Lecture 4: Defining Functions (Ch. 3.4-3.) CS 0 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W.

More information

CS 1110, LAB 12: SEQUENCE ALGORITHMS First Name: Last Name: NetID:

CS 1110, LAB 12: SEQUENCE ALGORITHMS   First Name: Last Name: NetID: CS 1110, LAB 12: SEQUENCE ALGORITHMS http://www.cs.cornell.edu/courses/cs1110/2014fa/labs/lab12.pdf First Name: Last Name: NetID: This last lab is extremely important. It helps you understand how to construct

More information

CS 1110, LAB 3: MODULES AND TESTING First Name: Last Name: NetID:

CS 1110, LAB 3: MODULES AND TESTING   First Name: Last Name: NetID: CS 1110, LAB 3: MODULES AND TESTING http://www.cs.cornell.edu/courses/cs11102013fa/labs/lab03.pdf First Name: Last Name: NetID: The purpose of this lab is to help you better understand functions, and to

More information

Lecture 18: Using Classes Effectively (Chapter 16)

Lecture 18: Using Classes Effectively (Chapter 16) http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 18: Using Classes Effectively (Chapter 16) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

CS 1110 Prelim 2 November 14th, 2013

CS 1110 Prelim 2 November 14th, 2013 CS 1110 Prelim 2 November 14th, 2013 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

Lecture 3: Functions & Modules

Lecture 3: Functions & Modules http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 3: Functions & Modules (Sections 3.1-3.3) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

Lecture 9: Memory in Python

Lecture 9: Memory in Python http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 9: Memory in Python CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

Lesson 4: Type Conversion, Mutability, Sequence Indexing. Fundamentals of Text Processing for Linguists Na-Rae Han

Lesson 4: Type Conversion, Mutability, Sequence Indexing. Fundamentals of Text Processing for Linguists Na-Rae Han Lesson 4: Type Conversion, Mutability, Sequence Indexing Fundamentals of Text Processing for Linguists Na-Rae Han Objectives Python data types Mutable vs. immutable object types How variable assignment

More information

CS Prelim 1 Review Fall 2017

CS Prelim 1 Review Fall 2017 CS 1110 Prelim 1 Review Fall 2017 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 12th Last name A J in Uris G01 Last name K Z in Statler Auditorium SDS Students will get an e-mail To help you study:

More information

Python I. Some material adapted from Upenn cmpe391 slides and other sources

Python I. Some material adapted from Upenn cmpe391 slides and other sources Python I Some material adapted from Upenn cmpe391 slides and other sources Overview Names & Assignment Data types Sequences types: Lists, Tuples, and Strings Mutability Understanding Reference Semantics

More information

Lecture 4. Defining Functions

Lecture 4. Defining Functions Lecture 4 Defining Functions Academic Integrity Quiz Reading quiz about the course AI policy Go to http://www.cs.cornell.edu/courses/cs11110/ Click Academic Integrity in side bar Read and take quiz in

More information

ASYMPTOTIC COMPLEXITY

ASYMPTOTIC COMPLEXITY Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. - Edsger Dijkstra ASYMPTOTIC COMPLEXITY Lecture

More information

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Introduction to Python II In the previous class, you have

More information

CS Prelim 1 Review Fall 2013

CS Prelim 1 Review Fall 2013 CS 1110 Prelim 1 Review Fall 2013 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 17th Last name A G in Olin 155 Last name H K in Olin 165 Last name L R in Olin 255 Last name S Z in Upson B17 To help

More information

Lecture 3: Functions & Modules (Sections ) CS 1110 Introduction to Computing Using Python

Lecture 3: Functions & Modules (Sections ) CS 1110 Introduction to Computing Using Python http://www.cs.cornell.edu/courses/cs1110/2019sp Lecture 3: Functions & Modules (Sections 3.1-3.3) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

CS 1110 Prelim 2 November 10th, 2016

CS 1110 Prelim 2 November 10th, 2016 CS 1110 Prelim 2 November 10th, 2016 This 90-minute exam has 5 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

CS 1110 Prelim 1 March 7th, 2013 SOLUTIONS

CS 1110 Prelim 1 March 7th, 2013 SOLUTIONS Last Name: Ution First Name: Sol Cornell NetID: SU1110 Circle your lab: Tu 12:20 Tu 1:25 Tu 2:30 Tu 3:35 W 12:20 W 1:25 W 2:30 W 3:35 CS 1110 Prelim 1 March 7th, 2013 SOLUTIONS 1. When allowed to begin,

More information

CS 1110 Prelim 2 April 21, 2015 GRADING GUIDE

CS 1110 Prelim 2 April 21, 2015 GRADING GUIDE CS 1110 Prelim 2 April 21, 2015 GRADING GUIDE Problem 1 15 points Problem 2 15 points Problem 3 15 points Problem 4 20 points Problem 5 20 points Problem 6 15 points Problem Total 20 points 95-100 xxxxxxxxxxxxxxxxxxxxxxxxx

More information

Lecture 17: Classes (Chapter 15)

Lecture 17: Classes (Chapter 15) http://www.cs.cornell.edu/courses/cs1110/018sp Lecture 17: Classes (Chapter 15) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

Homework notes. Homework 2 grades posted on canvas. Homework 3 due tomorrow. Homework 4 posted on canvas. Due Tuesday, Oct. 3

Homework notes. Homework 2 grades posted on canvas. Homework 3 due tomorrow. Homework 4 posted on canvas. Due Tuesday, Oct. 3 References Homework notes Homework 2 grades posted on canvas Homework 3 due tomorrow Homework 4 posted on canvas Due Tuesday, Oct. 3 Style notes Comment your code! A short line of comments per logical

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu/program/philippines-summer-2012/ Philippines Summer 2012 Lecture 1 Introduction to Python June 19, 2012 Agenda About the Course What is

More information

CS 1110 Prelim 2 November 13th, 2014

CS 1110 Prelim 2 November 13th, 2014 CS 1110 Prelim 2 November 13th, 2014 This 90-minute exam has 5 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

CS1 Lecture 3 Jan. 18, 2019

CS1 Lecture 3 Jan. 18, 2019 CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due

More information

CS 1110 Final, May 2017

CS 1110 Final, May 2017 Last Name: First Name: Cornell NetID, all caps: CS 1110 Final, May 2017 This 150-minute exam has 9 questions worth a total of 117 points. You may separate the pages while working on the exam; we have a

More information

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) First Name: Last Name: NetID:

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28)   First Name: Last Name: NetID: CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) http://www.cs.cornell.edu/courses/cs1110/2016sp/labs/lab01/lab01.pdf First Name: Last Name: NetID: Goals. Learning a computer language is a lot like learning

More information

Acct. balance Acct. balance 50 25

Acct. balance Acct. balance 50 25 Last Name: First Name: Cornell NetID, all caps: CS 1110 Regular Prelim 1 Solutions March 2017 1. Object Diagramming and Terminology. (a) [8 points] Suppose there is a class Acct defined in file a2.py where

More information

Lecture 9. Memory and Call Stacks

Lecture 9. Memory and Call Stacks Lecture 9 Memory and Call Stacks Announcements for Today Assignment 1 Reading We have started grading! Should have your grade tomorrow morning Resubmit until correct If you were close Will get feedback

More information

PIC 16, Fall Variables, Dynamically-typed, Mutable, Immutable, Functions. Michael Andrews. October 1, Department of Mathematics UCLA

PIC 16, Fall Variables, Dynamically-typed, Mutable, Immutable, Functions. Michael Andrews. October 1, Department of Mathematics UCLA PIC 16, Fall 2018 Variables, Dynamically-typed, Mutable, Immutable, Functions Michael Andrews Department of Mathematics UCLA October 1, 2018 Office hours reminder M 1:30-2:45pm (Michael) T 1-2pm (Sam),

More information

Overview of List Syntax

Overview of List Syntax Lists and Sequences Overview of List Syntax x = [0, 0, 0, 0] Create list of length 4 with all zeroes x 4300112 x.append(2) 3 in x x[2] = 5 x[0] = 4 k = 3 Append 2 to end of list x (now length 5) Evaluates

More information

CS Lecture 18: Card Tricks. Announcements. Slides by D. Gries, L. Lee, S. Marschner, W. White

CS Lecture 18: Card Tricks. Announcements. Slides by D. Gries, L. Lee, S. Marschner, W. White CS 1110 Lecture 18: Card Tricks Announcements Slides by D. Gries, L. Lee, S. Marschner, W. White Quick poker primer Basic (straight) version: 5 random cards in your hand 2 of same rank: pair (e.g., 3C

More information

Python Review IPRE

Python Review IPRE Python Review 2 Jay Summet 2005-12-31 IPRE Outline Compound Data Types: Strings, Tuples, Lists & Dictionaries Immutable types: Strings Tuples Accessing Elements Cloning Slices Mutable Types: Lists Dictionaries

More information

Announcements for This Lecture

Announcements for This Lecture Lecture 16 Classes Announcements for This Lecture Prelim and Regrades Still have some prelims Apparently were misfiled Pick them up in office hours Regrades in CMS next week Only for MAJOR mistakes We

More information

Lecture 6: Specifications & Testing

Lecture 6: Specifications & Testing http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 6: Specifications & Testing (Sections 4.9, 9.5) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

More information

18.1. CS 102 Unit 18. Python. Mark Redekopp

18.1. CS 102 Unit 18. Python. Mark Redekopp 18.1 CS 102 Unit 18 Python Mark Redekopp 18.2 Credits Many of the examples below are taken from the online Python tutorial at: http://docs.python.org/tutorial/introduction.html 18.3 Python in Context Two

More information

CS 1110 Prelim 1 October 17th, 2013

CS 1110 Prelim 1 October 17th, 2013 CS 1110 Prelim 1 October 17th, 2013 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

CS 1110 Prelim 1 March 7th, 2013

CS 1110 Prelim 1 March 7th, 2013 Last Name: First Name: Cornell NetID, all caps: Circle your lab: Tu 12:20 Tu 1:25 Tu 2:30 Tu 3:35 W 12:20 W 1:25 W 2:30 W 3:35 CS 1110 Prelim 1 March 7th, 2013 It is a violation of the Academic Integrity

More information

Announcements. Project 2 due next Monday. Next Tuesday is review session; Midterm 1 on Wed., EE 129, 8:00 9:30pm

Announcements. Project 2 due next Monday. Next Tuesday is review session; Midterm 1 on Wed., EE 129, 8:00 9:30pm Project 2 due next Monday Next Tuesday is review session; Announcements Midterm 1 on Wed., EE 129, 8:00 9:30pm Project 3 to be posted Oct. 3 (next Wed) Preparing for the Midterm: Review Chapters 3-6 of

More information

CS 1110, LAB 2: ASSIGNMENTS AND STRINGS

CS 1110, LAB 2: ASSIGNMENTS AND STRINGS CS 1110, LAB 2: ASSIGNMENTS AND STRINGS http://www.cs.cornell.edu/courses/cs1110/2014fa/labs/lab02.pdf First Name: Last Name: NetID: The purpose of this lab is to get you comfortable with using assignment

More information

Compound Data Types 2

Compound Data Types 2 Compound Data Types 2 Chapters 10, 11, 12 Prof. Mauro Gaspari: gaspari@cs.unibo.it Objects and Values We know that a and b both refer to a string, but we don t know whether they refer to the same string.

More information

Programming Languages

Programming Languages CSE 130 : Spring 2011 Programming Languages Lecture 13: What s in a Name? Ranjit Jhala UC San Diego Next: What s in a name? More precisely: How should programmer think of data What does a variable x really

More information

CS 1110 Prelim 2 November 12th, 2015

CS 1110 Prelim 2 November 12th, 2015 CS 1110 Prelim 2 November 12th, 2015 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

Next: What s in a name? Programming Languages. Data model in functional PL. What s in a name? CSE 130 : Fall Lecture 13: What s in a Name?

Next: What s in a name? Programming Languages. Data model in functional PL. What s in a name? CSE 130 : Fall Lecture 13: What s in a Name? Next: What s in a name? CSE 13 : Fall 211 Programming Languages Lecture 13: What s in a Name? More precisely: How should programmer think of data What does a variable x really mean? Ranjit Jhala UC San

More information

Lecture 3. Strings, Functions, & Modules

Lecture 3. Strings, Functions, & Modules Lecture 3 Strings, Functions, & Modules Labs this Week Lab 1 is due at the beginning of your lab If it is not yet by then, you cannot get credit Only exception is for students who added late (Those students

More information

CIS192 Python Programming. Robert Rand. August 27, 2015

CIS192 Python Programming. Robert Rand. August 27, 2015 CIS192 Python Programming Introduction Robert Rand University of Pennsylvania August 27, 2015 Robert Rand (University of Pennsylvania) CIS 192 August 27, 2015 1 / 30 Outline 1 Logistics Grading Office

More information

CS2304: Python for Java Programmers. CS2304: Sequences and Collections

CS2304: Python for Java Programmers. CS2304: Sequences and Collections CS2304: Sequences and Collections Sequences In Python A sequence type in python supports: The in membership operator. The len() function. Slicing like we saw with strings, s[1:3]. And is iterable (for

More information

Lecture #12: Immutable and Mutable Data. Last modified: Mon Feb 22 16:33: CS61A: Lecture #12 1

Lecture #12: Immutable and Mutable Data. Last modified: Mon Feb 22 16:33: CS61A: Lecture #12 1 Lecture #12: Immutable and Mutable Data Last modified: Mon Feb 22 16:33:22 2016 CS61A: Lecture #12 1 Listing Leaves def leaf_labels(tree): """A list of the labels of all leaves in TREE.""" Last modified:

More information

CS Prelim 1 Review Fall 2012

CS Prelim 1 Review Fall 2012 CS 1110 Prelim 1 Review Fall 2012 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 4th Last name A P in Kennedy 1116 Last name R T in Warren 131 Last name U Z in Warren 231 To help you study: Study guides,

More information

CS Prelim 2 Review Fall 2018

CS Prelim 2 Review Fall 2018 CS 1110 Prelim 2 Review Fall 2018 Exam Info Prelim 1: Thursday, November 8th Last name L P at 5:15 6:45 in Uris G01 Last name Q Z at 5:15 6:45 in Statler Aud. Last name A D at 7:30 9:00 in Uris G01 Last

More information

CS Prelim 1 Review Fall 2016

CS Prelim 1 Review Fall 2016 CS 1110 Prelim 1 Review Fall 2016 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 13th Last name A J in Uris G01 Last name K Z in Statler Auditorium SDS Students will get an e-mail To help you study:

More information

CMSC201 Computer Science I for Majors

CMSC201 Computer Science I for Majors CMSC201 Computer Science I for Majors Lecture 12 Tuples All materials copyright UMBC and Dr. Katherine Gibson unless otherwise noted Modularity Meaning Benefits Program design Last Class We Covered Top

More information

CS 1110 Prelim 2 April 26th, 2016

CS 1110 Prelim 2 April 26th, 2016 Circle your lab/situation: CS 1110 Prelim 2 April 26th, 2016 ACCEL: Tue 12:20 Tue 1:25 Tue 2:30 Tue 3:35 ACCEL : Wed 10:10 Wed 11:15 Wed 12:20 Wed 1:25 Wed 2:30 Wed 3:35 PHILLIPS : Tue 12:20 Tue 1:25 Wed

More information

CS1 Lecture 3 Jan. 22, 2018

CS1 Lecture 3 Jan. 22, 2018 CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow

More information

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Introduction to Python II In the previous class, you have

More information

Python Programming: Lecture 2 Data Types

Python Programming: Lecture 2 Data Types Python Programming: Lecture 2 Data Types Lili Dworkin University of Pennsylvania Last Week s Quiz 1..pyc files contain byte code 2. The type of math.sqrt(9)/3 is float 3. The type of isinstance(5.5, float)

More information

CS1 Lecture 11 Feb. 9, 2018

CS1 Lecture 11 Feb. 9, 2018 CS1 Lecture 11 Feb. 9, 2018 HW3 due Monday morning, 9:00am for #1 I don t care if you use 1, 2, or 3 loops. Most important is clear correct code for #3, make sure all legal situations are handled. Think

More information

Lecture #7: Recursion (and a data structure)

Lecture #7: Recursion (and a data structure) Lecture #7: Recursion (and a data structure) Announcements: A message from the AWE: The Association of Women in EECS is hosting a 61A party this Sunday (2/9) from 1 3PM in the Woz! Come hang out, befriend

More information

CMSC201 Computer Science I for Majors

CMSC201 Computer Science I for Majors CMSC201 Computer Science I for Majors Lecture 08 Lists Constants Last Class We Covered More on while loops Sentinel loops Priming Reads Boolean flags 2 Any Questions from Last Time? 3 Today s Objectives

More information

Python Review IPRE

Python Review IPRE Python Review Jay Summet 2005-12-31 IPRE Outline Compound Data Types: Strings, Tuples, Lists & Dictionaries Immutable types: Strings Tuples Accessing Elements Cloning Slices Mutable Types: Lists Dictionaries

More information

CMPT 120 Lists and Strings. Summer 2012 Instructor: Hassan Khosravi

CMPT 120 Lists and Strings. Summer 2012 Instructor: Hassan Khosravi CMPT 120 Lists and Strings Summer 2012 Instructor: Hassan Khosravi All of the variables that we have used have held a single item One integer, floating point value, or string often you find that you want

More information

ENGR/CS 101 CS Session Lecture 12

ENGR/CS 101 CS Session Lecture 12 ENGR/CS 101 CS Session Lecture 12 Log into Windows/ACENET (reboot if in Linux) Use web browser to go to session webpage http://csserver.evansville.edu/~hwang/f14-courses/cs101.html Right-click on lecture12.py

More information

CS Prelim 1 Review Fall 2018

CS Prelim 1 Review Fall 2018 CS 1110 Prelim 1 Review Fall 2018 Exam Info Prelim 1: Thursday, October 12th Last name A D at 5:15 6:45 in Uris G01 Last name E K at 5:15 6:45 in Statler Aud. Last name L P at 7:30 9:00 in Uris G01 Last

More information

Module 04: Lists. Topics: Lists and their methods Mutating lists Abstract list functions Readings: ThinkP 8, 10. CS116 Fall : Lists

Module 04: Lists. Topics: Lists and their methods Mutating lists Abstract list functions Readings: ThinkP 8, 10. CS116 Fall : Lists Module 04: Lists Topics: Lists and their methods Mutating lists Abstract list functions Readings: ThinkP 8, 10 1 Consider the string method split >>> name = "Harry James Potter" >>> name.split() ['Harry',

More information

The Practice of Computing Using PYTHON

The Practice of Computing Using PYTHON The Practice of Computing Using PYTHON William Punch Richard Enbody Chapter 6 Lists and Tuples 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Structures 2 Data Structures

More information

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes GIS 4653/5653: Spatial Programming and GIS More Python: Statements, Types, Functions, Modules, Classes Statement Syntax The if-elif-else statement Indentation and and colons are important Parentheses and

More information

MITOCW watch?v=rvrkt-jxvko

MITOCW watch?v=rvrkt-jxvko MITOCW watch?v=rvrkt-jxvko The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information