6.2.3 Basic Dictionary Operations

  • Intentionally provided the incorrect value 100 for the key 'X':
In [1]:
roman_numerals = {'I': 1, 'II': 2, 'III': 3, 'V': 5, 'X': 100}
In [2]:
roman_numerals
Out[2]:
{'I': 1, 'II': 2, 'III': 3, 'V': 5, 'X': 100}

Accessing the Value Associated with a Key

In [3]:
roman_numerals['V']
Out[3]:
5

Updating the Value of an Existing Key–Value Pair

In [4]:
roman_numerals['X'] = 10
In [5]:
roman_numerals
Out[5]:
{'I': 1, 'II': 2, 'III': 3, 'V': 5, 'X': 10}

Adding a New Key–Value Pair

In [6]:
roman_numerals['L'] = 50
In [7]:
roman_numerals
Out[7]:
{'I': 1, 'II': 2, 'III': 3, 'V': 5, 'X': 10, 'L': 50}
  • String keys are case sensitive.
  • Assigning to a nonexistent key inserts a new key–value pair.

Removing a Key–Value Pair

In [8]:
del roman_numerals['III']
In [9]:
roman_numerals
Out[9]:
{'I': 1, 'II': 2, 'V': 5, 'X': 10, 'L': 50}
  • Method pop returns the value for the removed key.
In [10]:
roman_numerals.pop('X')
Out[10]:
10
In [11]:
roman_numerals
Out[11]:
{'I': 1, 'II': 2, 'V': 5, 'L': 50}

Attempting to Access a Nonexistent Key

In [12]:
roman_numerals['III']
------------------------------------------------------------------------
KeyError                               Traceback (most recent call last)
<ipython-input-12-ccd50c7f0c8b> in <module>
----> 1 roman_numerals['III']

KeyError: 'III'
  • Method get returns its argument’s corresponding value or None if the key is not found.
  • IPython does not display anything for None.
  • get with a second argument returns teh second argument if the key is not found.
In [13]:
roman_numerals.get('III')
In [14]:
roman_numerals.get('III', 'III not in dictionary')
Out[14]:
'III not in dictionary'
In [15]:
roman_numerals.get('V')
Out[15]:
5

Testing Whether a Dictionary Contains a Specified Key

In [16]:
'V' in roman_numerals
Out[16]:
True
In [17]:
'III' in roman_numerals
Out[17]:
False
In [18]:
'III' not in roman_numerals
Out[18]:
True

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 6 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.