Sets and Dictionaries. Modules and File I/O

Size: px
Start display at page:

Download "Sets and Dictionaries. Modules and File I/O"

Transcription

1 Sets and Dictionaries Modules and File I/O get excited! CS GMU

2 Sets

3 some allowed set values: numbers, strings, and tuples some disallowed set values: lists, dictionaries, other sets not allowed in sets Sets set : a group of values, without duplicates. Can add/remove items, combine with common set operations (union, intersection, etc). frozenset : version of set that is immutable; allowed as values in sets (and also frozensets). The ordering of sets' values is arbitrary. Values in sets must be hashable ("immutable all the way down.")

4 Set Operations Python provides many set operations that should be familiar from mathematics. We go to the documentation here to view them directly. a course goal is being comfortable finding, reading, and using documentation J

5 POLL 7A Sets

6 Practice Problems Given sets of ints named xs, ys, and zs, find : the maximum number that is in both xs and ys. the minimum number that is in xs but not in either of ys or zs. how many unique numbers show up anywhere in the three lists. the set of numbers showing up in exactly two of the three lists. Consider these sample values. xs = { 1, 2, 3, 5, 7 } ys = { 2, 4, 5, 6 } zs = { 1, 4, 6, 7 }

7 when should we use sets? Keep sets in mind when designing your algorithms if the properties of sets (no duplicates) are useful, and the arbitrary ordering doesn't hurt, go ahead and use them directly! Occasionally, you might want to just convert to a set and back to a list to get the "no duplicates" property. Watch out for ordering, though! >>> xs = ['a','b','c','d','a','b','c'] # messy, with duplicates >>> list(set(xs)) # no duplicates (but unsorted) ['d', 'b', 'c', 'a']

8 Dictionaries (LIB 4.10)

9 dictionary example scores = {"Andrew":95, "Jerzy":82, "Mark":82 } scores dictionary: collection of key-value pairs no preserved ordering of keys (Python3.6+ is preserving insertion ordering!) keys must be unique, keys must be hashable can add/update/remove key-value pairs great way to 'index' things by non-consecutive ints key value "Andrew" 95 "Jerzy" 82 "Mark" 82

10 Dictionary Examples Syntax: {key1:val1, key2:val2, keyn:valn} empty = { } number_names = {1:"one", 2:"two", 3:"three"} name_parts = {"first":"george", "last":"mason"} random = {1:"a", (1,2,3):"abc", None:"shall pass"} Other Creation Strategies: Using dict function with keyword args, unquoted-strings as keys: dict ( a=1, b=2, c=55 ) Using dict function and sequence of length-two-sequences: stuff = [["a",1], ["b",2], ["c",55]] dict (stuff)

11 Dictionary Operations func,on/method/opera,on usage len: # of key-value pairs. len( d ) indexing: by key d[ k ] get: (use opoonal parameter default if not found) d.get(k) d.get(k, default) del: remove a key-value pair del d[ k ] in, not in: test key's presence k in d k not in d clear: remove all key-value pairs copy: create a shallow copy keys, values, items: get the keys, values, or key-val pairs pop: pop value at k (or return default) popitem(): pop any value update: insert all of another dict's key-value pairs d.clear() d.copy() d.keys() d.items() d.values() d.pop(k) d.pop(k,default) d.popitem() d_receiver.update(d_supplier)

12 Getting Keys, Values, or Key-Value Pairs >>> d = {"a":1,"b":2,"c":3} >>> d.keys() dict_keys(['c', 'b', 'a']) >>> d.values() dict_values([3, 2,1]) >>> d.items() dict_items([('c', 3), ('b', 2), ('a', 1)]) 12

13 POLL 7B Dictionaries.

14 Dictionary Iteration get one key each iteraoon (no guaranteed key order) >>> d = { "a":1, "b":2, "c":3 } >>> for k in d:... print (k, d[k])... c 3 b 2 a 1 >>> 14

15 Dictionary Iteration d = {"a":1, "b":2, "c":3} print ("by keys:") for k in d.keys(): print (k, d[k]) print ("\nby values:") for v in d.values(): print (v) print ("\nby items:") for (k,v) in d.items(): print (k,v) 15 by keys: c 3 b 2 a 1 by values: by items: c 3 b 2 a 1

16 Removing Dictionary Elements >>> d = {"a":1, "b":2, "c":3} >>> del d["a"] >>> d {'c': 3, 'b': 2} >>> d.pop("b") 2 >>> d {'c': 3} >>> d.pop("b") Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'b' >>> >>> d.pop("b","oops") 'oops' >>> del d["garbage"] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'garbage' >>> d.popitem() # any item ('c', 3) del: >>> delete by key pop: remove by given key, receive its paired value (or default if not found) popitem: pop arbitrary key-value pair 16

17 POLL 7C Dictionaries and looping

18 Modules (LIB )

19 Modules A module is a component providing Python definitions of functions, variables or classes. basically, each.py file is a module. Think of a module as a named thing with lots of named things inside of it. 19

20 various import styles Consider the math module. It provides definioons for pi, sqrt, and cos. We use it as an example for various styles of imporong definioons. style of import statement what is accessible? sample usage import math from math import * from math import pi qualified access to all things defined in math module, as math.thing allows direct access to all things in math module. allows access to thing directly, but nothing else brought in scope squarea = math.sqrt(math.pi*(r**2)) # can't use sqrt/pi directly squarea = sqrt(pi*(r**2)) # can't use math.sqrt or math.pi area = pi * (r**2) # can't use sqrt or math.sqrt # can't use math.pi either! from math import (pi, cos, sqrt) allows direct access to these things, but not others from the math module. five = sqrt(25) circ = 2 * pi * r # can't use tan # can't use math.pi

21 POLL 7D Modules.

22 Basic File Input/Output

23 basics of file I/O programs can read and write files files might contain text or other binary data we'll only consider text files text files are essentially a python string stored on disk in file writing mode, nothing is actually written until we close the file much like how you have to save your code file to actually change what's on disk

24 two examples file_ref = open ("sample.txt") # get access to file str_contents = file_ref. read () # read entire file as string file_ref. close () # close file when done <use entire file's contents as string> fileref = open("logfile.txt", 'w' ) # let's make a file fileref. write ( "hello, file\n" ) # start wriong contents fileref. write ( "line 2\nline" ) fileref. writelines ( ["3\n", "line 4\n", "last line\n" ] ) fileref. close( ) # commits changes to file

25 phases of file interaction create a file reference by calling open(filename, mode='r') mode='r' (default): file must exist; only inspect what's there. mode='w': builds up new contents for file, saved at close() will replace any previously-existing file when closed mode='a': same as writing but adds to existing contents rather than discarding. creates new file if needed. call any useful functions allowed by the mode mode='r': read, readline, readlines mode='w': write, writelines close the file when done by calling close()

26 universal newline support various systems chose different newline representations. examples: '\n' '\r' '\r\n' python converts all variants to '\n' by default when writing files, you explicitly write any newlines you want so you can match any style you want

27 Reading Files

28 two examples file_ref = open ("sample.txt") # get access to file str_contents = file_ref. read () # read entire file as string file_ref. close () # close file when done <use entire file's contents as string> fileref = open ("myfile.txt") #access it lines = fileref. readlines( ) #read it fileref. close( ) for line in lines: #always close the file! print(line.upper(), end="") # shout it out! print ("done!") #use it! just a list of strings now

29 reading files compare to physically reading a book also, think of file's contents as a python string, indexed 0 and up you have a 'bookmark' tracking where you are, updating as you go you can read a few characters at a time, a line at a time, or the whole thing at once sample call meaning (star,ng at your 'bookmark' always) return value f. read (n) read up to n characters string f. read ( ) read all remaining characters string f. readline ( n ) read up to n characters on current line string f. readline ( ) read the rest of the current line string f. readlines ( ) read all remaining lines list of strings

30 read() test1.txt ABCDEFGHIJ qrstuvwxyz test1.txt ends in 'z\n' test2.txt ABCDEFGHIJ qrstuvwxyz test2.txt ends in 'z\n\n' >>> file = open("test1.txt") >>> file.read() ' \nABCDEFGHIJ\nqrstuvwxyz\n' >>> file.close() >>> file = open("test2.txt") >>> file.read() ' \nABCDEFGHIJ\nqrstuvwxyz\n\n' >>> file.close() 30 *** Don t forget to close file *** ( with file.close() )

31 read(x) test.txt ABCDEFGHIJ qrstuvwxyz >>> file = open("test.txt") >>> file.read(5) '01234' >>> file.read(5) # file remembered bookmark '56789' >>> file.read(4) # newline counts! '\nabc' >>> file.close() # always close the file >>> file position remembered between read() calls *** Don t forget to close file *** 31

32 readline() test.txt ABCDEFGHIJ qrstuvwxyz >>> file = open("test.txt") >>> file. readline() ' \n' >>> file. readline() 'ABCDEFGHIJ\n' >>> file. readline() 'qrstuvwxyz\n' >>> file. readline() '' >>> file. close() *** Don t forget to close file *** 32

33 readline(x) test.txt ABCDEFGHIJ qrstuvwxyz >>> file = open("test.txt") >>> file. readline(7) ' ' >>> file. readline(7) '789\n' >>> file. readline(15) 'ABCDEFGHIJ\n' >>> file. close() *** Don t forget to close file *** 33

34 readlines() test.txt ABCDEFGHIJ qrstuvwxyz >>> file = open ("test.txt") >>> file. readlines () [' \n', 'ABCDEFGHIJ\n', 'qrstuvwxyz\n'] >>> file. close () Note: newlines are preserved in the output. Last line might not have one! *** Don t forget to close file ***

35 Iteration using for Loop test.txt ABCDEFGHIJ qrstuvwxyz >>> test_file = open ("test.txt") >>> for line in test_file:... print(line, end='') ABCDEFGHIJ qrstuvwxyz >>> test_file.close() *** Don t forget to close file *** 35

36 POLL 7E Reading Files.

37 Writing Files

38 file writing methods calling write and writelines is like successive print calls, only the output goes to a file (and no newlines or separators are ever added, only exactly what you write) nothing is actually written to the file until you close it! method behavior example call write(x) writes string x to file f.write("stuff\nhere") writelines(xs) writes strings in list xs to file parts=['a\n','\b'n\c', 'd','e','f'] f.writelines(parts) 38

39 write(x) test.txt (before close) ABCDEFGHIJ qrstuvwxyz >>> file = open("test.txt","w") >>> s = "Line 1\nLine 2\nLine 3\n" >>> file.write(s) 21 >>> file.close() test.txt (ager close) Line 1 Line 2 Line 3 absolutely nothing except what you write goes into the file no newlines, spacings, or anything. you can write parts of one line in as many write calls as you need 39

40 writelines(xs) test.txt (before close) Line 1 Line 2 Line 3 >>> file = open ("test.txt","w") >>> lines = ["012345\n","ABCDEF\n","qrstu\n"] >>> file. writelines(lines) >>> file. close() test.txt (ager close) ABCDEF qrstu writelines is nothing more than a loop of calls to write(). You could write it in your sleep by now. 40

41 POLL 7F Writing Files.

42 tell and seek Methods navigate around a file by index, and (re)read/overwrite parts. tell - returns current file pointer position (as int) seek - moves file pointer to specified position test.txt ABCDEFGHIJ qrstuvwxyz >>> file = open("test.txt") >>> file. tell() # start at beginning 0 >>> file. seek(7)# absolute positioning 7 >>> file. tell() # now we're at char 7 7 >>> file. read(6)# read 6 characters. '789\nAB' >>> file. tell() # now we're at 7+6==13 13 >>> file. close()# always close the file 42

Sequences and iteration in Python

Sequences and iteration in Python GC3: Grid Computing Competence Center Sequences and iteration in Python GC3: Grid Computing Competence Center, University of Zurich Sep. 11 12, 2013 Sequences Python provides a few built-in sequence classes:

More information

Functions parameters, scope CS GMU

Functions parameters, scope CS GMU Functions parameters, scope CS 112 @ GMU Functions function: we can name a batch of statements, to call later. a function can accept some expected number of values to be supplied each time it is called

More information

CIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvani

CIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvani CIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvania) CIS 192 Fall Lecture 2 September 6, 2017 1 / 34

More information

#11: File manipulation Reading: Chapter 7

#11: File manipulation Reading: Chapter 7 CS 130R: Programming in Python #11: File manipulation Reading: Chapter 7 Contents File manipulation Text ASCII files Binary files - pickle Exceptions File manipulation Electronic files Files store useful

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Data Types Joseph Cappadona University of Pennsylvania September 03, 2015 Joseph Cappadona (University of Pennsylvania) CIS 192 September 03, 2015 1 / 32 Outline 1 Data Types

More information

Getting Started Values, Expressions, and Statements CS GMU

Getting Started Values, Expressions, and Statements CS GMU Getting Started Values, Expressions, and Statements CS 112 @ GMU Topics where does code go? values and expressions variables and assignment 2 where does code go? we can use the interactive Python interpreter

More information

LECTURE 3 Python Basics Part 2

LECTURE 3 Python Basics Part 2 LECTURE 3 Python Basics Part 2 FUNCTIONAL PROGRAMMING TOOLS Last time, we covered function concepts in depth. We also mentioned that Python allows for the use of a special kind of function, a lambda function.

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

A Little Python Part 2

A Little Python Part 2 A Little Python Part 2 Introducing Programming with Python Data Structures, Program Control Outline Python and the System Data Structures Lists, Dictionaries Control Flow if, for, while Reminder - Learning

More information

Part I. Wei Tianwen. A Brief Introduction to Python. Part I. Wei Tianwen. Basics. Object Oriented Programming

Part I. Wei Tianwen. A Brief Introduction to Python. Part I. Wei Tianwen. Basics. Object Oriented Programming 2017 Table of contents 1 2 Integers and floats Integer int and float float are elementary numeric types in. integer >>> a=1 >>> a 1 >>> type (a) Integers and floats Integer int and float

More information

1 Strings (Review) CS151: Problem Solving and Programming

1 Strings (Review) CS151: Problem Solving and Programming 1 Strings (Review) Strings are a collection of characters. quotes. this is a string "this is also a string" In python, strings can be delineated by either single or double If you use one type of quote

More information

File Processing. CS 112: Introduction to Programming: File Processing Sequence. File Processing. File IO

File Processing. CS 112: Introduction to Programming: File Processing Sequence. File Processing. File IO File Processing CS 112: Introduction to Programming: File IO Coming up: File Processing 1 File Processing Sequence 1. Open the file 2. Read from the file 3. Close the file In some cases, not properly closing

More information

Directory of C:\Users\Ami\Documents\Python Scripts

Directory of C:\Users\Ami\Documents\Python Scripts Chapter 8: Files and I/O Up to this point, all input and output has taken place using the keyboard and the command console. Specifically, the function input() has been used to collect user data, and the

More information

OCaml Data CMSC 330: Organization of Programming Languages. User Defined Types. Variation: Shapes in Java

OCaml Data CMSC 330: Organization of Programming Languages. User Defined Types. Variation: Shapes in Java OCaml Data : Organization of Programming Languages OCaml 4 Data Types & Modules So far, we ve seen the following kinds of data Basic types (int, float, char, string) Lists Ø One kind of data structure

More information

Lecture 15: Dictionaries

Lecture 15: Dictionaries Lecture 15: Dictionaries CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary Python s dictionary concept. 1 Dictionaries

More information

File Input/Output. Learning Outcomes 10/8/2012. CMSC 201 Fall 2012 Instructor: John Park Lecture Section 01. Discussion Sections 02-08, 16, 17

File Input/Output. Learning Outcomes 10/8/2012. CMSC 201 Fall 2012 Instructor: John Park Lecture Section 01. Discussion Sections 02-08, 16, 17 CMSC 201 Fall 2012 Instructor: John Park Lecture Section 01 1 Discussion Sections 02-08, 16, 17 Adapted from slides by Sue Evans et al. 2 Learning Outcomes Become familiar with input and output (I/O) from

More information

CS Advanced Unix Tools & Scripting

CS Advanced Unix Tools & Scripting & Scripting Spring 2011 Hussam Abu-Libdeh slides by David Slater March 4, 2011 Hussam Abu-Libdeh slides by David Slater & Scripting Python An open source programming language conceived in the late 1980s.

More information

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

Python review. 1 Python basics. References. CS 234 Naomi Nishimura Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not

More information

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26,

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26, Part IV More on Python Compact Course @ Max-Planck, February 16-26, 2015 36 More on Strings Special string methods (excerpt) s = " Frodo and Sam and Bilbo " s. islower () s. isupper () s. startswith ("

More information

Introduction to Python. Cathal Hoare

Introduction to Python. Cathal Hoare Introduction to Python Cathal Hoare Dictionaries We are familiar with dictionaries in the real world: Contains word definitions Creates associations between words and definitions Searchable Dictionaries

More information

COMP 204: Dictionaries Recap & Sets

COMP 204: Dictionaries Recap & Sets COMP 204: Dictionaries Recap & Sets Material from Carlos G. Oliver, Christopher J.F. Cameron October 10, 2018 1/21 Reminder Midterm on Wednesday October 17 at 6:30-8:00 pm. Assignment 2: numpy is allowed

More information

(CC)A-NC 2.5 by Randall Munroe Python

(CC)A-NC 2.5 by Randall Munroe Python http://xkcd.com/353/ (CC)A-NC 2.5 by Randall Munroe Python Python: Operative Keywords Very high level language Language design is focused on readability Mulit-paradigm Mix of OO, imperative, and functional

More information

Python Tutorial. CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi

Python Tutorial. CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi Python Tutorial CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi 1 Python2 vs Python3 Python syntax Data structures Functions Debugging Classes The NumPy Library Outline 2 Many examples adapted from

More information

Dictionaries. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, KV 5 Jaipur II Shift

Dictionaries. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, KV 5 Jaipur II Shift Dictionaries Based on CBSE Curriculum Class -11 By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region Introduction Python provides us various options to store multiple values under one variable name.

More information

Lecture no

Lecture no Advanced Algorithms and Computational Models (module A) Lecture no. 3 29-09-2014 Giacomo Fiumara giacomo.fiumara@unime.it 2014-2015 1 / 28 Expressions, Operators and Precedence Sequence Operators The following

More information

Python Evaluation Rules

Python Evaluation Rules Python Evaluation Rules UW CSE 160 https://courses.cs.washington.edu/courses/cse160/15sp/ Michael Ernst and Isaac Reynolds mernst@cs.washington.edu April 1, 2015 Contents 1 Introduction 2 1.1 The Structure

More information

Abstract Data Types. CS 234, Fall Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples

Abstract Data Types. CS 234, Fall Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples Abstract Data Types CS 234, Fall 2017 Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples Data Types Data is stored in a computer as a sequence of binary digits:

More information

List of squares. Program to generate a list containing squares of n integers starting from 0. list. Example. n = 12

List of squares. Program to generate a list containing squares of n integers starting from 0. list. Example. n = 12 List of squares Program to generate a list containing squares of n integers starting from 0 Example list n = 12 squares = [] for i in range(n): squares.append(i**2) print(squares) $ python3 squares.py

More information

Programming for Engineers in Python. Recitation 3

Programming for Engineers in Python. Recitation 3 Programming for Engineers in Python Recitation 3 Plan Modules / Packages Tuples Mutable / Imutable Dictionaries Functions: Scope Call by Ref / Call by Val Frequency Counter Python Code Hierarchy Statement

More information

COMP1730/COMP6730 Programming for Scientists. Dictionaries and sets

COMP1730/COMP6730 Programming for Scientists. Dictionaries and sets COMP1730/COMP6730 Programming for Scientists Dictionaries and sets Lecture outline * Mappings: the dict type. * Sets: the set type. Mappings * A mapping (a.k.a. dictionary) stores key value pairs; each

More information

Lecture 21. Chapter 12 More Python Containers

Lecture 21. Chapter 12 More Python Containers Lecture 21 Chapter 12 More Python Containers 12.1 Two Familiar Containers: list and tuple 12.2 Dictionaries 12.3 Containers of containers 12.4 Set and Frozenset 12.5 Arrays Chapter 12 More Python Containers

More information

Introduction to Python! Lecture 2

Introduction to Python! Lecture 2 .. Introduction to Python Lecture 2 Summary Summary: Lists Sets Tuples Variables while loop for loop Functions Names and values Passing parameters to functions Lists Characteristics of the Python lists

More information

Python 1: Intro! Max Dougherty Andrew Schmitt

Python 1: Intro! Max Dougherty Andrew Schmitt Python 1: Intro! Max Dougherty Andrew Schmitt Computational Thinking Two factors of programming: The conceptual solution to a problem. Solution syntax in a programming language BJC tries to isolate and

More information

Introduction to Python

Introduction to Python Introduction to Python Jon Kerr Nilsen, Dmytro Karpenko Research Infrastructure Services Group, Department for Research Computing, USIT, UiO Why Python Clean and easy-to-understand syntax alldata = cpickle.load(open(filename1,

More information

Data Structures. Dictionaries - stores a series of unsorted key/value pairs that are indexed using the keys and return the value.

Data Structures. Dictionaries - stores a series of unsorted key/value pairs that are indexed using the keys and return the value. Data Structures Lists - stores a series of ordered mutable items Tuples - stores a series of ordered immutable items [not commonly used] Sets - stores a series of mutable or immutable(frozen) unsorted

More information

Python Tutorial. Day 1

Python Tutorial. Day 1 Python Tutorial Day 1 1 Why Python high level language interpreted and interactive real data structures (structures, objects) object oriented all the way down rich library support 2 The First Program #!/usr/bin/env

More information

Fundamentals of Programming (Python) File Processing. Sina Sajadmanesh Sharif University of Technology Fall 2017

Fundamentals of Programming (Python) File Processing. Sina Sajadmanesh Sharif University of Technology Fall 2017 Fundamentals of Programming (Python) File Processing Sina Sajadmanesh Sharif University of Technology Outline 1. Sources of Input 2. Files 3. Opening a File 4. Opening Modes 5. Closing a File 6. Writing

More information

Reading and writing files

Reading and writing files C H A P T E R 1 3 Reading and writing files 131 Opening files and file objects 131 132 Closing files 132 133 Opening files in write or other modes 132 134 Functions to read and write text or binary data

More information

Data Structures. Lists, Tuples, Sets, Dictionaries

Data Structures. Lists, Tuples, Sets, Dictionaries Data Structures Lists, Tuples, Sets, Dictionaries Collections Programs work with simple values: integers, floats, booleans, strings Often, however, we need to work with collections of values (customers,

More information

A lot of people make repeated mistakes of not calling their functions and getting errors. Make sure you're calling your functions.

A lot of people make repeated mistakes of not calling their functions and getting errors. Make sure you're calling your functions. Handout 2 Functions, Lists, For Loops and Tuples [ ] Functions -- parameters/arguments, "calling" functions, return values, etc. Please make sure you understand this example: def square(x): return x *

More information

Introduction to Programming in Python (2)

Introduction to Programming in Python (2) Introduction to Programming in Python (2) Steve Renals s.renals@ed.ac.uk ICL 29 September 2005 Conditionals Loops Function basics Variables and functions Functional programming Designing functions Python

More information

Python Lists: Example 1: >>> items=["apple", "orange",100,25.5] >>> items[0] 'apple' >>> 3*items[:2]

Python Lists: Example 1: >>> items=[apple, orange,100,25.5] >>> items[0] 'apple' >>> 3*items[:2] Python Lists: Lists are Python's compound data types. A list contains items separated by commas and enclosed within square brackets ([]). All the items belonging to a list can be of different data type.

More information

Program Planning, Data Comparisons, Strings

Program Planning, Data Comparisons, Strings Program Planning, Data Comparisons, Strings Program Planning Data Comparisons Strings Reading for this class: Dawson, Chapter 3 (p. 80 to end) and 4 Program Planning When you write your first programs,

More information

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines. Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of

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 Workshop. January 18, Chaitanya Talnikar. Saket Choudhary

Python Workshop. January 18, Chaitanya Talnikar. Saket Choudhary Chaitanya Talnikar Saket Choudhary January 18, 2012 Python Named after this : Python Slide 1 was a joke! Python Slide 1 was a joke! Python : Conceived in late 1980s by Guido van Rossum as a successor to

More information

Python: Short Overview and Recap

Python: Short Overview and Recap Python: Short Overview and Recap Benjamin Roth CIS LMU Benjamin Roth (CIS LMU) Python: Short Overview and Recap 1 / 39 Data Types Object type Example creation Numbers (int, float) 123, 3.14 Strings this

More information

Physics 514 Basic Python Intro

Physics 514 Basic Python Intro Physics 514 Basic Python Intro Emanuel Gull September 8, 2014 1 Python Introduction Download and install python. On Linux this will be done with apt-get, evince, portage, yast, or any other package manager.

More information

Introduction to Python

Introduction to Python Introduction to Python Efstratios RAPPOS efstratios.rappos@heig-vd.ch Slide 1 2016 HEIG-VD SNU Summer School Background Easy and popular programming language Interpreted: must have python installed to

More information

(IUCAA, Pune) kaustubh[at]iucaa[dot]ernet[dot]in.

(IUCAA, Pune)   kaustubh[at]iucaa[dot]ernet[dot]in. Basics of Python - 2 by Kaustubh Vaghmare (IUCAA, Pune) E-mail: kaustubh[at]iucaa[dot]ernet[dot]in 1 of 54 Sunday 16 February 2014 05:30 PM Our First Program - Rewritten! Let us introduce the following

More information

Macros & Streams Spring 2018 Discussion 9: April 11, Macros

Macros & Streams Spring 2018 Discussion 9: April 11, Macros CS 61A Macros & Streams Spring 2018 Discussion 9: April 11, 2018 1 Macros So far, we ve mostly explored similarities between the Python and Scheme languages. For example, the Scheme list data structure

More information

Python and Bioinformatics. Pierre Parutto

Python and Bioinformatics. Pierre Parutto Python and Bioinformatics Pierre Parutto October 9, 2016 Contents 1 Common Data Structures 2 1.1 Sequences............................... 2 1.1.1 Manipulating Sequences................... 2 1.1.2 String.............................

More information

A Brief Introduction to Python for those who know Java Last extensive revision: Jie Gao, Fall 2018 Previous revisions: Daniel Moroz, Fall 2015

A Brief Introduction to Python for those who know Java Last extensive revision: Jie Gao, Fall 2018 Previous revisions: Daniel Moroz, Fall 2015 A Brief Introduction to Python for those who know Java Last extensive revision: Jie Gao, Fall 2018 Previous revisions: Daniel Moroz, Fall 2015 Meet the Mighty Python Plan Day 1 Baby steps History, Python

More information

MEMOIZATION, RECURSIVE DATA, AND SETS

MEMOIZATION, RECURSIVE DATA, AND SETS MEMOIZATION, RECURSIVE DATA, AND SETS 4b COMPUTER SCIENCE 61A July 18, 2013 1 Memoization Later in this class, you ll learn about orders of growth and how to analyze exactly how efficient (or inefficient)

More information

Script language: Python Data structures

Script language: Python Data structures Script language: Python Data structures Cédric Saule Technische Fakultät Universität Bielefeld 3. Februar 2015 Immutable vs. Mutable Previously known types: int and string. Both are Immutable but what

More information

Outline. Simple types in Python Collections Processing collections Strings Tips. 1 On Python language. 2 How to use Python. 3 Syntax of Python

Outline. Simple types in Python Collections Processing collections Strings Tips. 1 On Python language. 2 How to use Python. 3 Syntax of Python Outline 1 On Python language 2 3 4 Marcin Młotkowski Object oriented programming 1 / 52 On Python language The beginnings of Pythons 90 CWI Amsterdam, Guido van Rossum Marcin Młotkowski Object oriented

More information

A Brief Introduction to Python for those who know Java. (Last extensive revision: Daniel Moroz, fall 2015)

A Brief Introduction to Python for those who know Java. (Last extensive revision: Daniel Moroz, fall 2015) A Brief Introduction to Python for those who know Java (Last extensive revision: Daniel Moroz, fall 2015) Plan Day 1 Baby steps History, Python environments, Docs Absolute Fundamentals Objects, Types Math

More information

The float type and more on variables FEB 6 TH 2012

The float type and more on variables FEB 6 TH 2012 The float type and more on variables FEB 6 TH 2012 The float type Numbers with decimal points are easily represented in binary: 0.56 (in decimal) = 5/10 + 6/100 0.1011 (in binary) = ½+0/4 + 1/8 +1/16 The

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

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 08: Graphical User Interfaces with wxpython March 12, 2005 http://www.seas.upenn.edu/~cse39904/ Plan for today and next time Today: wxpython (part 1) Aside: Arguments

More information

MUTABLE LISTS AND DICTIONARIES 4

MUTABLE LISTS AND DICTIONARIES 4 MUTABLE LISTS AND DICTIONARIES 4 COMPUTER SCIENCE 61A Sept. 24, 2012 1 Lists Lists are similar to tuples: the order of the data matters, their indices start at 0. The big difference is that lists are mutable

More information

At full speed with Python

At full speed with Python At full speed with Python João Ventura v0.1 Contents 1 Introduction 2 2 Installation 3 2.1 Installing on Windows............................ 3 2.2 Installing on macos............................. 5 2.3

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

Organization of Programming Languages CS 3200/5200D. Lecture 12

Organization of Programming Languages CS 3200/5200D. Lecture 12 Organization of Programming Languages CS 3200/5200D Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Scripting Languages: Python Designed by Guido van Rossum in

More information

More Data Structures. What is a Dictionary? Dictionaries. Python Dictionary. Key Value Pairs 10/21/2010

More Data Structures. What is a Dictionary? Dictionaries. Python Dictionary. Key Value Pairs 10/21/2010 The Practice of Computing Using PYTHON William Punch Richard Enbody Chapter 8 Dictionaries and Sets More Data Structures We have seen the list data structure and its uses. We will now examine two, more

More information

Lecture Agenda. Objects. But First... Immutable Types and Nesting. Immutable Types and Nesting

Lecture Agenda. Objects. But First... Immutable Types and Nesting. Immutable Types and Nesting COMP10001 Foundations of Computing Objects and Types: A Closer Look (Advanced Lecture) Semester 1, 2017 Tim Baldwin & Egemen Tanin Lecture Agenda This lecture: Making sense of strings, lists and functions

More information

Exercise: The basics - variables and types

Exercise: The basics - variables and types Exercise: The basics - variables and types Aim: Introduce python variables and types. Issues covered: Using the python interactive shell In the python interactive shell you don t need print Creating variables

More information

Here is a simple dictionary in Python. Let s store the telephone dialing codes for a few countries.

Here is a simple dictionary in Python. Let s store the telephone dialing codes for a few countries. 1 DICTIONARIES, TUPLES and SETS Python is renowned for its data types that allow us to store a collection of data. The most popular of these is the list, which you have already seen. A list is a collection

More information

06/11/2014. Subjects. CS Applied Robotics Lab Gerardo Carmona :: makeroboticsprojects.com June / ) Beginning with Python

06/11/2014. Subjects. CS Applied Robotics Lab Gerardo Carmona :: makeroboticsprojects.com June / ) Beginning with Python CS95003 - Applied Robotics Lab Gerardo Carmona :: makeroboticsprojects.com June / 2014 Subjects 1) Beginning with Python 2) Variables 3) Strings 4) Basic arithmetic operators 5) Flow control 6) Comparison

More information

Fundamentals of Programming (Python) File Processing. Ali Taheri Sharif University of Technology Spring 2018

Fundamentals of Programming (Python) File Processing. Ali Taheri Sharif University of Technology Spring 2018 Fundamentals of Programming (Python) File Processing Ali Taheri Sharif University of Technology Outline 1. Sources of Input 2. Files 3. Opening a File 4. Opening Modes 5. Closing a File 6. Writing to a

More information

STATS Data Analysis using Python. Lecture 8: Hadoop and the mrjob package Some slides adapted from C. Budak

STATS Data Analysis using Python. Lecture 8: Hadoop and the mrjob package Some slides adapted from C. Budak STATS 700-002 Data Analysis using Python Lecture 8: Hadoop and the mrjob package Some slides adapted from C. Budak Recap Previous lecture: Hadoop/MapReduce framework in general Today s lecture: actually

More information

About Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python

About Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python About Python Python course is a great introduction to both fundamental programming concepts and the Python programming language. By the end, you'll be familiar with Python syntax and you'll be able to

More information

Today: Revisit some objects. Programming Languages. Key data structure: Dictionaries. Using Dictionaries. CSE 130 : Winter 2009

Today: Revisit some objects. Programming Languages. Key data structure: Dictionaries. Using Dictionaries. CSE 130 : Winter 2009 CSE 130 : Winter 2009 Programming Languages Lecture 11: What s in a Name? Today: Revisit some objects Exploit features and build powerful expressions Base: int, float, complex Sequence: string, tuple,

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG 1 Notice Assignments Reading Assignment: Chapter 3: Introduction to Parameters and Objects The Class 10 Exercise

More information

There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals:

There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals: Numeric Types There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals: 1-123 +456 2. Long integers, of unlimited

More information

File I/O, Benford s Law, and sets

File I/O, Benford s Law, and sets File I/O, Benford s Law, and sets Matt Valeriote 11 February 2019 Benford s law Benford s law describes the (surprising) distribution of first digits of many different sets of numbers. Read it about it

More information

Collections. Lists, Tuples, Sets, Dictionaries

Collections. Lists, Tuples, Sets, Dictionaries Collections Lists, Tuples, Sets, Dictionaries Homework notes Homework 1 grades on canvas People mostly lost points for not reading the document carefully Didn t play again Didn t use Y/N for playing again

More information

Modern Programming Languages. Lecture LISP Programming Language An Introduction

Modern Programming Languages. Lecture LISP Programming Language An Introduction Modern Programming Languages Lecture 18-21 LISP Programming Language An Introduction 72 Functional Programming Paradigm and LISP Functional programming is a style of programming that emphasizes the evaluation

More information

File input and output if-then-else. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

File input and output if-then-else. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas File input and output if-then-else Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas Opening files The open() command returns a file object: = open(,

More information

CPTS 111, Fall 2011, Sections 6&7 Exam 3 Review

CPTS 111, Fall 2011, Sections 6&7 Exam 3 Review CPTS 111, Fall 2011, Sections 6&7 Exam 3 Review File processing Files are opened with the open() command. We can open files for reading or writing. The open() command takes two arguments, the file name

More information

Try and Error. Python debugging and beautification

Try and Error. Python debugging and beautification Try and Error Python debugging and beautification What happens when something goes wrong Catching exceptions In order to handle errors, you can set up exception handling blocks in your code. The keywords

More information

MEIN 50010: Python Flow Control

MEIN 50010: Python Flow Control : Python Fabian Sievers Higgins Lab, Conway Institute University College Dublin Wednesday, 2017-10-11 Program Overview Program Code Block Statements Expressions Expressions & Statements An expression has

More information

EXAMINATION INSTRUCTIONS

EXAMINATION INSTRUCTIONS Midterm exam SAMPLE CSE115 Computer Science I Fall 2018 EXAMINATION INSTRUCTIONS This examination has 9 pages. Check that you have a complete paper. Each candidate should be prepared to produce, upon request,

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

File input and output and conditionals. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

File input and output and conditionals. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas File input and output and conditionals Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas Opening files The built-in open() function returns a file object:

More information

Lecture 7: Lambda & Abstract Data Types

Lecture 7: Lambda & Abstract Data Types UC Berkeley EECS Adj. Ass. Prof. Dr. Gerald Friedland Computational Structures in Data Science Lecture 7: Lambda & Abstract Data Types Computational Concepts Toolbox Data type: values, literals, operations,

More information

Exceptions CS GMU

Exceptions CS GMU Exceptions CS 112 @ GMU Exceptions When an unrecoverable action takes place, normal control flow is abandoned: an exception value crashes outwards until caught. various types of exception values can be

More information

DSC 201: Data Analysis & Visualization

DSC 201: Data Analysis & Visualization DSC 201: Data Analysis & Visualization Classes Dr. David Koop Tuple, List, Dictionary, or Set? [1,2,"abc"] 2 Tuple, List, Dictionary, or Set? {"a", 1, 2} 3 Tuple, List, Dictionary, or Set? {} 4 Tuple,

More information

Introduction to Python. Dmytro Karpenko Research Infrastructure Services Group, Department for Research Computing, USIT, UiO

Introduction to Python. Dmytro Karpenko Research Infrastructure Services Group, Department for Research Computing, USIT, UiO Introduction to Python Dmytro Karpenko Research Infrastructure Services Group, Department for Research Computing, USIT, UiO Research Computing Services tutorial and courses November 3-7, 2014 Why python

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 2: Data, Classes, and Modules January 22, 2007 http://www.seas.upenn.edu/~cse39904/ Administrative things Teaching assistant Brian Summa (bsumma @ seas.upenn.edu)

More information

UNIVERSITY OF TORONTO SCARBOROUGH. December 2017 EXAMINATIONS. CSCA20H3 Duration 3 hours. Examination Aids: Instructor: Bretscher

UNIVERSITY OF TORONTO SCARBOROUGH. December 2017 EXAMINATIONS. CSCA20H3 Duration 3 hours. Examination Aids: Instructor: Bretscher PLEASE HAND IN UNIVERSITY OF TORONTO SCARBOROUGH December 2017 EXAMINATIONS CSCA20H3 Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Last (Family) Name(s): First (Given) Name(s):

More information

File Operations. Working with files in Python. Files are persistent data storage. File Extensions. CS111 Computer Programming

File Operations. Working with files in Python. Files are persistent data storage. File Extensions. CS111 Computer Programming File Operations Files are persistent data storage titanicdata.txt in PS06 Persistent vs. volatile memory. The bit as the unit of information. Persistent = data that is not dependent on a program (exists

More information

Comp Exam 1 Overview.

Comp Exam 1 Overview. Comp 170-400 Exam 1 Overview. Resources During the Exam The exam will be closed book, no calculators or computers, except as a word processor. In particular no Python interpreter running in a browser or

More information

Programming for Engineers in Python. Recitation 3 Functions

Programming for Engineers in Python. Recitation 3 Functions Programming for Engineers in Python Recitation 3 Functions Plan Short review FOR and Lists Python references Mutable vs. immutable data types List references Functions Scope Call by assignment Global variables

More information

CSC148 Fall 2017 Ramp Up Session Reference

CSC148 Fall 2017 Ramp Up Session Reference Short Python function/method descriptions: builtins : input([prompt]) -> str Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed without a trailing

More information

The Dynamic Typing Interlude

The Dynamic Typing Interlude CHAPTER 6 The Dynamic Typing Interlude In the prior chapter, we began exploring Python s core object types in depth with a look at Python numbers. We ll resume our object type tour in the next chapter,

More information

ENGR 102 Engineering Lab I - Computation

ENGR 102 Engineering Lab I - Computation ENGR 102 Engineering Lab I - Computation Week 07: Arrays and Lists of Data Introduction to Arrays In last week s lecture, 1 we were introduced to the mathematical concept of an array through the equation

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

Collections. John Perry. Fall 2011

Collections. John Perry. Fall 2011 MAT 305: Collections University of Southern Mississippi Fall 2011 Outline 1 2 3 4 Collections? Collection: group of objects identified as single object indexed tuples a 0, a 1, a 2,...a n points x 0, y

More information

CS112 Spring 2012 Dr. Kinga Dobolyi. Exam 2. Do not open this exam until you are told. Read these instructions:

CS112 Spring 2012 Dr. Kinga Dobolyi. Exam 2. Do not open this exam until you are told. Read these instructions: CS112 Spring 2012 Dr. Kinga Dobolyi Exam 2 Do not open this exam until you are told. Read these instructions: 1. This is a closed book exam. No calculators, notes, or other aids are allowed. If you have

More information