new Topics: Coronavirus | AI | Data Science | Deep Learning | Machine Learning | Python | R | Statistics

KDnuggets Home » News » 2019 » Dec » Tutorials, Overviews » Python Dictionary and Dictionary Methods ( 19:n48 )

Python Dictionary and Dictionary Methods


Check out this introduction to creating, accessing, and updating dictionaries in Python.



By Michael Galarnyk, Data Scientist

This Python Dictionary tutorial covers:

  • How to Define a Dictionary
  • How to Access Values in a Dictionary
  • How to Add, Update, and Delete Keys from a Dictionary
  • Dictionary Methods
  • How to Iterate through a Dictionary

With that, let’s get started.

 

Define a Dictionary

 
Dictionaries are written within curly brackets {}.

Figure

Define a dictionary. Keys are in red. Values are in blue.

 

# Define a dictionary code 
webstersDict = {'person': 'a human being',
                'marathon': 'a running race that is about 26 miles',
                'resist': 'to remain strong against the force',
                'run': 'to move with haste; act quickly'}


The dictionary webstersDict used strings as keys in the dictionary, but dictionary keys can be any immutable data type (numbers, strings, tuples etc). Dictionary values can be just about anything (int, lists, functions, strings, etc).

For example, the dictionary below, genderDict has ints as keys and strings as values.

# Define a dictionary
genderDict = {0: 'male',
              1: 'female'}


An important point to emphasize is that if you try to make a key a mutable datatype (like a list), you will get an error.

# Failure to define a dictionary
webstersDict = {(1, 2.0): 'tuples can be keys',
                1: 'ints can be keys',
                'run': 'strings can be keys', 
                ['sock', 1, 2.0]: 'lists can NOT be keys'}


Figure

Failure to define a dictionary with a list as a key. Lists are NOT immutable

 

 

Access Values in a Dictionary

 
To access a dictionary value, you can use square brackets [].

For example, the code below uses the key ‘marathon’ to access the value ‘a running race that is about 26 miles’.

# Get value of the 'marathon' key
webstersDict['marathon']


Figure

Access the key ‘marathon’

 

Keep in mind that you will get a KeyError if you try to access a value for a key that does not exist.

# Try to get value for key that does not exist
webstersDict['nonexistentKey']


Figure

KeyError will result if you try and look up a key that does not exist.

 

In the Dictionary Methods section, you will see the utility of using the dictionary method get to avoid KeyErrors.

 

Add, Update, and Delete Keys from a Dictionary

 

Add or Update Key

 
You can add a new key-value pair.

# add one new key value pair to a dictionary
webstersDict['shoe'] = 'an external covering for the human foot'


Figure

Add the new key ‘shoe’ to the dictionary. The new key ‘shoe’ is enclosed in the red rectangle.

 

You can also update a key-value pair.

Figure

Update the dictionary key ‘marathon’

 

In the Dictionary Methods section, you will see that you can also add or update multiple key value pairs at a time using the dictionary update method.

 

Delete Keys from Dictionary

 
It is possible to remove a key and its corresponding value from a dictionary using del.

# Remove the key 'resist' from the dictionary
del webstersDict['resist']


Figure

Remove the key ‘resist’ from the dictionary webstersDict.

 

In the Dictionary Methods section, you will see that you can also delete keys using the dictionary pop method.

 

Dictionary Methods

 
Python dictionaries have different methods that help you modify a dictionary. This section of the tutorial just goes over various python dictionary methods.

 

update method

 
The update method is very useful for updating multiple key values pairs at a time. It takes a dictionary as an argument.

# Using update method to add two key value pairs at once
webstersDict.update({'ran': 'past tense of run',
                     'shoes': 'plural of shoe'})


Figure

Added the keys ‘ran’ and ‘shoes’ to the dictionary.

 

 

get method

 

# Define a dictionary
storyCount = {'is': 100,
              'the': 90,
              'Michael': 12,
              'runs': 5}


The get method returns a value for a given key. If a key doesn’t exist, the dictionary will by default return None.

# Since the key 'Michael' exists, it will return the value 12
storyCount.get('Michael')


Figure

Since the key ‘Michael’ exists, it returns the value 12. If ‘Michael’ didn’t exist, it would return None.

 

The method is very useful to look up keys you don’t know are in the dictionary to avoid KeyErrors.

Figure

They key ‘chicken’ does not exist.

 

You can also specify a default value to return if the key doesn’t exist.

# Make default value for key that doesn't exist 0.
storyCount.get('chicken', 0)


Figure

You can see the usefulness of this method if you try a Python Word Count.

 

 

pop Method

 
The pop method removes a key and returns the value.

storyCount.pop('the')


Figure

Dictionary before and after removing the key ’the’ from the dictionary.

 

 

keys Method

 
The keys method returns the keys of the dictionary.

storyCount.keys()


Figure

 

 

values Method

 
The values method returns the values in the dictionary.

storyCount.values()


 

items Method

 
The items method returns a list like object of tuples where each tuple is of the form (key, value).

webstersDict.items()


Figure

 

 

Iterate through a Dictionary

 
You can iterate through the keys of a dictionary by using a for loop.

for key in storyCount:
   print(key)


Figure

Iterate through the keys of the dictionary.

 

You also iterate through the keys of a dictionary by using the keys method.

for key in storyCount.keys():
   print(key)


Figure

Iterate through the keys of the dictionary.

 

The for loop below uses the items method to access one (key, value) pair on each iteration of the loop.

for key, value in webstersDict.items():
    print(key, value)


Figure

Iterate through the key, value pairs of a dictionary.

 

If you have difficulty understanding this section, I recommend watching the following video.

 

Closing Remarks

 
Please let me know if you have any questions either here or through Twitter! The next post, Python Word Count will review dictionary methods, list manipulations, and string manipulations. If you want to learn how to utilize the Pandas, Matplotlib, or Seaborn libraries, please consider taking my Python for Data Visualization LinkedIn Learning course. Here is a free preview video.

 
Bio: Michael Galarnyk is a Data Scientist and Corporate Trainer. He currently works at Scripps Translational Research Institute. You can find him on Twitter (https://twitter.com/GalarnykMichael), Medium (https://medium.com/@GalarnykMichael), and GitHub (https://github.com/mGalarnyk).

Original. Reposted with permission.

Related:


Sign Up

By subscribing you accept KDnuggets Privacy Policy