Python Mini-Course - PowerPoint PPT Presentation

About This Presentation
Title:

Python Mini-Course

Description:

Describe the characteristics of the dictionary data structure in Python ... Using tuples as keys: troupe.py. troupe = {('Cleese', 'John'): [1,2,3] ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 21
Provided by: troys9
Learn more at: https://www.ou.edu
Category:
Tags: course | mini | python | troupe

less

Transcript and Presenter's Notes

Title: Python Mini-Course


1
Lesson 16Dictionaries
  • Python Mini-Course
  • University of Oklahoma
  • Department of Psychology

2
Lesson objectives
  1. Describe the characteristics of the dictionary
    data structure in Python
  2. Perform basic operations with dictionaries
    including creation, copying, updating, and
    traversing
  3. Use dictionaries in functions

3
The dictionary data structure
  • In Python, a dictionary is mapping between a set
    of indices (keys) and a set of values
  • The items in a dictionary are key-value pairs

4
The dictionary data structure
  • Keys can be any Python data type
  • Because keys are used for indexing, they should
    be immutable
  • Values can be any Python data type
  • Values can be mutable or immutable

5
Creating a dictionary
  • eng2sp dict()
  • print eng2sp
  • eng2sp'one' 'uno'
  • print eng2sp
  • eng2sp'two' 'dos'
  • print eng2sp

6
Creating a dictionary
  • eng2sp 'one' 'uno', 'two' 'dos',
  • 'three' 'tres'
  • print eng2sp
  • In general, the order of items in a dictionary is
    unpredictable
  • Dictionaries are indexed by keys, not integers

7
Dictionary indexing
  • print eng2sp'three'
  • print eng2sp'five'
  • If the index is not a key in the dictionary,
    Python raises an exception

8
Dictionary indexing
  • if 'five' in eng2sp
  • print eng2sp'five'
  • print eng2sp.get('five')

9
The in operator
  • Note that the in operator works differently for
    dictionaries than for other sequences
  • For offset indexed sequences (strings, lists,
    tuples), x in y checks to see whether x is an
    item in the sequence
  • For dictionaries, x in y checks to see whether x
    is a key in the dictionary

10
Keys and values
  • The keys method returns a list of the keys in a
    dictionary
  • print eng2sp.keys()
  • The values method returns a list of the values
  • print eng2sp.values()

11
Keys and values
  • The items method returns a list of tuple pairs
    of the key-value pairs in a dictionary
  • print eng2sp.items()

12
Example histogram.py
  • def histogram(seq)
  • d dict()
  • for element in seq
  • if element not in d
  • delement 1
  • else
  • delement 1
  • return d
  • h histogram('brontosaurus')
  • print h

13
Example histogram2.py
  • Add the following code to histogram.py
  • def print_hist(hist)
  • for key in hist
  • print key, histkey
  • h histogram('brontosaurus')
  • print_hist(h)

14
Example histogram2.py
  • Change the print_hist function
  • def print_hist(hist)
  • for key, value in hist
  • print key, value
  • h histogram('brontosaurus')
  • print_hist(h)

15
Sorting the keys
  • Change the print_hist function
  • def print_hist(hist)
  • keys hist.keys()
  • keys.sort()
  • for key in keys
  • print key, histkey
  • h histogram('brontosaurus')
  • print_hist(h)

16
Using lists as values invert.py
  • Add the following code to histogram.py
  • def invert_dict(d)
  • inv dict()
  • for key in d
  • val dkey
  • if val not in inv
  • invval key
  • else
  • invval.append(key)
  • return inv

17
Using lists as values invert.py
  • Add the following code to histogram.py
  • hist histogram('parrot')
  • print hist
  • inverted invert_dict(hist)
  • print inverted

18
Using tuples as keys troupe.py
  • troupe ('Cleese', 'John') 1,2,3,
  • ('Chapman', 'Graham') 4,5,6,
  • ('Idle', 'Eric') 7,8,9,
  • ('Jones', 'Terry') 10,11,12,
  • ('Gilliam', 'Terry')
    13,14,15,16,17,18,
  • ('Palin', 'Michael') 19,20
  • for last, first in troupe
  • print first, last, troupelast, first

19
Next session
  • Handling program errors (exceptions)
  • Reading and writing data files
  • Sharing data with other programs (Excel, SAS,
    etc.)

20
Suggested exercises
  • Exercise 12.4
  • The Case Study in chapter 13
Write a Comment
User Comments (0)
About PowerShow.com