1 / 20

Lesson 16 Dictionaries

Lesson 16 Dictionaries. Python Mini-Course University of Oklahoma Department of Psychology. Lesson objectives. Describe the characteristics of the dictionary data structure in Python Perform basic operations with dictionaries including creation, copying, updating, and traversing

kort
Download Presentation

Lesson 16 Dictionaries

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Lesson objectives • Describe the characteristics of the dictionary data structure in Python • Perform basic operations with dictionaries including creation, copying, updating, and traversing • Use dictionaries in functions Python Mini-Course: Lesson 16

  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 Python Mini-Course: Lesson 16

  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 Python Mini-Course: Lesson 16

  5. Creating a dictionary eng2sp = dict() print eng2sp eng2sp['one'] = 'uno' print eng2sp eng2sp['two'] = 'dos' print eng2sp Python Mini-Course: Lesson 16

  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 Python Mini-Course: Lesson 16

  7. Dictionary indexing print eng2sp['three'] print eng2sp['five'] * If the index is not a key in the dictionary, Python raises an exception Python Mini-Course: Lesson 16

  8. Dictionary indexing if 'five' in eng2sp: print eng2sp['five'] print eng2sp.get('five') Python Mini-Course: Lesson 16

  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 Python Mini-Course: Lesson 16

  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() Python Mini-Course: Lesson 16

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

  12. Example: histogram.py def histogram(seq): d = dict() for element in seq: if element not in d: d[element] = 1 else: d[element] += 1 return d h = histogram('brontosaurus') print h Python Mini-Course: Lesson 16

  13. Example: histogram2.py Add the following code to histogram.py: def print_hist(hist): for key in hist: print key, hist[key] h = histogram('brontosaurus') print_hist(h) Python Mini-Course: Lesson 16

  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) Python Mini-Course: Lesson 16

  15. Sorting the keys Change the print_hist function: def print_hist(hist): keys = hist.keys() keys.sort() for key in keys: print key, hist[key] h = histogram('brontosaurus') print_hist(h) Python Mini-Course: Lesson 16

  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 = d[key] if val not in inv: inv[val] = [key] else: inv[val].append(key) return inv Python Mini-Course: Lesson 16

  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 Python Mini-Course: Lesson 16

  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, troupe[last, first] Python Mini-Course: Lesson 16

  19. Next session • Handling program errors (exceptions) • Reading and writing data files • Sharing data with other programs (Excel, SAS, etc.) Python Mini-Course: Lesson 16

  20. Suggested exercises • Exercise 12.4 • The Case Study in chapter 13 Python Mini-Course: Lesson 16

More Related