1 / 21

Tuples and Dictionaries

Tuples and Dictionaries. Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg. Homework Assignments. PA07 regular deadline is today - 11/4 New homework PA08 assigned today Elise is available to help with homework in-person or in email Email: fahrenke@uni.edu

elvink
Download Presentation

Tuples and 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. Tuples and Dictionaries Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg

  2. Homework Assignments • PA07 regular deadline is today - 11/4 • New homework PA08 assigned today • Elise is available to help with homework in-person or in email • Email: fahrenke@uni.edu • 3-4pm M/W in WRT 339

  3. Tuples • Last time we finished up talking about lists • We made an anagram program • Today we will briefly go over tuples • Like lists, but immutable!

  4. Tuples • Tuples are easy: they are simply immutable lists. • They are designated with a comma: • Not the parenthesis! myTuple = (1,’a’,3.14,True) newTuple = (,) #Empty tuple anotherTuple = 2,3 #Tuple without parenthesis

  5. The Question is, Why? • The real question is, why have an immutable list, a tuple, as a separate type? • An immutable list gives you a data structure with some integrity, some permanency, if you will. • You know you cannot accidentally change one.

  6. Lists and Tuples • Everything that works with a list works with a tuple except methods that modify the list/tuple. • Thus indexing, slicing, len, print all work as expected. • However, none of the mutable methods work: append, extend, remove.

  7. Anagram Example with Tuples • Let’s see if we can modify our anagram program to use tuples

  8. Chapter 9Dictionaries

  9. More Data Structures • We have seen the string and list data structures and their uses. • In particular, the dictionary is an important, very useful part of Python as well as generally useful to solve many problems.

  10. What is a Dictionary? • In data structure terms, a dictionary is better termed an associative array or associative list or a map. • You can think if it as a list of pairs, where the first element of the pair, the key, is used to retrieve the second element, the value. • Thus we map a key to a value.

  11. Key Value Pairs • The key acts as a “lookup” to find the associated value. • Just like a dictionary, you look up a word by its spelling to find the associated definition. • A dictionary can be searched to locate the value associated with a key.

  12. Python Dictionary • Use the { } marker to create a dictionary • Use the : marker to indicate key:value pairs: contacts= {‘bill’: ‘353-1234’, ‘rich’: ‘269-1234’, ‘jane’: ‘352-1234’} print (contacts) {‘jane’: ‘352-1234’, ‘bill’: ‘353-1234’, ‘rich’: ‘369-1234’}

  13. Keys and Values • Key must be immutable: • strings, integers, tuples are fine • lists are NOT • Value can be anything.

  14. Collections but not a Sequence • Dictionaries are collections, but they are not sequences like lists, strings or tuples: • there is no order to the elements of a dictionary • in fact, the order (for example, when printed) might change as elements are added or deleted. • So how to access dictionary elements?

  15. Access Dictionary Elements Access requires [ ], but the key is the index! myDict={} • an empty dictionary myDict[‘bill’]=25 • added the pair ‘bill’:25 print(myDict[‘bill’]) • prints 25

  16. Dictionaries are Mutable • Like lists, dictionaries are a mutable data structure: • you can change the object via various operations, such as index assignment myDict = {‘bill’:3, ‘rich’:10} print (myDict[‘bill’] ) # prints 3 myDict[‘bill’] = 100 print (myDict[‘bill’])# prints 100

  17. Again, Common Operators Like others, dictionaries respond to these: • len(myDict) • number of key:value pairs in the dictionary • element in myDict • boolean, is element a key in the dictionary • for key in myDict: • iterates through the keys of a dictionary

  18. Lots of Methods • myDict.items() – all the key/value pairs • myDict.keys() – all the keys • myDict.values() – all the values • key in myDict does the key exist in the dictionary • myDict.clear() – empty the dictionary • myDict.update(yourDict) – for each key in yourDict, updates myDict with that key/value pair

  19. Dictionaries are Iterable for key in myDict: print(key) • prints all the keys for key,value in myDict.items(): print(key,value) • prints all the key/value pairs for value in myDict.values(): print(value) • prints all the values

  20. Doing something with this • Write a function called letterCount that: • takes in a string as a parameter • prints a table of the letters of the alphabet (in alphabetical order ) together with the number of times each letter occurs. • Case should be ignored.

More Related