CSc 110, Spring 2018 Lecture 33: Dictionaries

Slides:



Advertisements
Similar presentations
CSci 143 Sets & Maps Adapted from Marty Stepp, University of Washington
Advertisements

CSCI/CMPE 4341 Topic: Programming in Python Chapter 6: Lists, Tuples, and Dictionaries – Exercises Xiang Lian The University of Texas – Pan American Edinburg,
CSE 143 Lecture 15 Sets and Maps reading: ; 13.2 slides created by Marty Stepp
CSE 143 Lecture 7 Sets and Maps reading: ; 13.2 slides created by Marty Stepp
Data Structures Akshay Singh.  Lists in python can contain any data type  Declaring a list:  a = [‘random’,’variable’, 1, 2]
Building Java Programs Chapter 11 Lecture 11-1: Sets and Maps reading:
Built-in Data Structures in Python An Introduction.
CSE 143 Lecture 14 (B) Maps and Grammars reading: 11.3 slides created by Marty Stepp
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 9 Dictionaries and Sets.
14. DICTIONARIES AND SETS Rocky K. C. Chang 17 November 2014 (Based on from Charles Dierbach, Introduction to Computer Science Using Python and Punch and.
Data Collections CS 127. Lists Lists are ordered sequences of items All programming languages provide a sequence structure similar to a Python list; in.
CSE 143 Lecture 14 Maps/Sets; Grammars reading: slides adapted from Marty Stepp and Hélène Martin
CSE 143 Lecture 11: Sets and Maps reading:
CSc 110, Autumn 2016 Lecture 15: lists Adapted from slides by Marty Stepp and Stuart Reges.
CSc 110, Autumn 2016 Lecture 26: Sets and Dictionaries
Building Java Programs
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Autumn 2017 Lecture 16: Fencepost Loops and Review
Topics Dictionaries Sets Serializing Objects. Topics Dictionaries Sets Serializing Objects.
CSc 110, Spring 2017 Lecture 29: Sets and Dictionaries
Adapted from slides by Marty Stepp and Stuart Reges
Wednesday Notecards. Wednesday Notecards Wednesday Notecards.
CSc 120 Introduction to Computer Programing II
slides created by Marty Stepp and Hélène Martin
CSc 110, Autumn 2016 Lecture 27: Sets and Dictionaries
Adapted from slides by Marty Stepp and Stuart Reges
C++ Standard Library.
CSc 110, Autumn 2017 Lecture 24: Lists for Tallying; Text Processing
Dictionaries, File operations
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Spring 2017 Lecture 28: Sets and Dictionaries
CSc 110, Spring 2018 Lecture 32: Sets and Dictionaries
CSc 110, Autumn 2017 Lecture 31: Dictionaries
CSc 110, Autumn 2017 Lecture 30: Sets and Dictionaries
Week 2: 10/1-10/5 Monday Tuesday Wednesday Thursday Friday
Road Map CS Concepts Data Structures Java Language Java Collections
CSc 110, Spring 2018 Lecture 16: Fencepost Loops and while loops
CSc 110, Spring 2018 Lecture 9: Parameters, Graphics and Random
Lecture 23: Tuples Adapted from slides by Marty Stepp and Stuart Reges
Lecture 15: lists Adapted from slides by Marty Stepp and Stuart Reges
Lecture 22: lists Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Autumn 2017 Lecture 9: Graphics and Nested Loops
CSc 110, Autumn 2017 Lecture 27: Lists that change size and Tuples
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Autumn 2016 Lecture 20: Lists for Tallying; Text Processing
Adapted from slides by Marty Stepp and Stuart Reges
Lecture 23: Tuples Adapted from slides by Marty Stepp and Stuart Reges
Adapted from slides by Marty Stepp and Stuart Reges
Exercise Write a program that counts the number of unique words in a large text file (say, Moby Dick or the King James Bible). Store the words in a collection.
Lecture 19: lists Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Spring 2017 Lecture 20: Lists for Tallying; Text Processing
Topics Dictionaries Sets Serializing Objects. Topics Dictionaries Sets Serializing Objects.
Dictionaries Dictionary: object that stores a collection of data
CSc 110, Spring 2018 Lecture 5: Loop Figures and Constants
CSc 110, Spring 2018 Lecture 27: Lists that change size and File Output Adapted from slides by Marty Stepp and Stuart Reges.
6. Dictionaries and sets Rocky K. C. Chang 18 October 2018
slides created by Marty Stepp
CSc 110, Spring 2018 Lecture 8: input and Parameters
CSc 110, Spring 2018 Lecture 10: More Graphics
Adapted from slides by Marty Stepp and Stuart Reges
Adapted from slides by Marty Stepp and Stuart Reges
Adapted from slides by Marty Stepp and Stuart Reges
Ruby Containers, Iterators, and Blocks
slides created by Marty Stepp
Adapted from slides by Marty Stepp and Stuart Reges
slides adapted from Marty Stepp and Hélène Martin
Winter 2019 CISC101 5/26/2019 CISC101 Reminders
CSc 110, Autumn 2016 Lecture 20: Lists for Tallying; Text Processing
Adapted from slides by Marty Stepp and Stuart Reges
Dictionary.
Presentation transcript:

CSc 110, Spring 2018 Lecture 33: Dictionaries Adapted from slides by Marty Stepp and Stuart Reges

Exercise Write a program that counts the number of positive words and the number of negative words in a large text file (say, Moby Dick or the King James Bible).

Creating a Set An empty set: A set with elements in it: a = set() b = {"the", "hello", "happy"} a.add(val) adds element val to a a.discard(val) removes val from a if present a.pop() removes and returns a random element from a a - b returns a new set containing values in a but not in b a | b returns a new set containing values in either a or b a & b returns a new set containing values in both a and b a ^ b returns a new set containing values in a or b but not both You can also use in, len(), etc.

Exercise Write a program to count the number of occurrences of each unique word in a large text file (e.g. Moby Dick ). Allow the user to type a word and report how many times that word appeared in the book. Report all words that appeared in the book at least 500 times. What structure is appropriate for this problem?

Dictionaries dictionary: Holds a set of unique keys and a collection of values, where each key is associated with one value. a.k.a. "map", "associative array", "hash" basic dictionary operations: Add a mapping from a key to a value. Retrieve a value mapped to a key. Remove a given key and its mapped value.

Dictionary operations items() return a new view of the dictionary’s items ((key, value) pairs) pop(key) removes any existing mapping for the given key and returns it (error if key not found) popitem() removes and returns an arbitrary (key, value) pair (error if empty) keys() returns the dictionary's keys values() returns the dictionary's values You can also use in, len(), etc.

Looping over a set or dictionary? You must use a for element in structure loop needed because sets have no indexes; can't get element i Example: for item in a: print(item) Outputs: the happy hello

items, keys and values items function returns tuples of each key-value pair can loop over the keys in a for loop ages = {} ages["Merlin"] = 4 ages["Chester"] = 2 ages["Purrcival"] = 12 for cat, age in ages.items(): print(cat + " -> " + str(age)) values function returns all values in the dictionary no easy way to get from a value to its associated key(s) keys function returns all keys in the dictionary

Exercise Use word counts to figure out if a document is positive or negative Count all of the positive words and count all of the negative words. Whichever count is bigger is the sentiment of the document. How do we know which words are positive and which are negative?

Exercise Consider the following function: def mystery(list1, list2): result = {} for i in range(0, len(list1)): result[list1[i]] = list2[i] result[list2[i]] = list1[i] return result What is returned after calls with the following parameters? list1: [b, l, u, e] list2: [s, p, o, t] dictionary returned:__________________________________________________________ list1: [k, e, e, p] list2: [s, a, f, e] list1: [s, o, b, e, r] list2: [b, o, o, k, s]