Files
labs/Module-2/1.Basic/05-Dictionaries.ipynb

6.6 KiB

Dictionaries

1.) Constructing a Dictionary
2.) Accessing objects from a dictionary
3.) Nesting Dictionaries
4.) Basic Dictionary Methods
In [ ]:
# Make a dictionary with {} and : to signify a key and a value
my_dict = {'key1':'value1','key2':'value2'}
In [ ]:
# Call values by their key
my_dict['key2']

Its important to note that dictionaries are very flexible in the data types they can hold. For example:

In [ ]:
my_dict = {'key1':123,'key2':[12,23,33],'key3':['item0','item1','item2']}
In [ ]:
# Let's call items from the dictionary
my_dict['key3']
In [ ]:
# Can call an index on that value
my_dict['key3'][0]
In [ ]:
# Can then even call methods on that value
my_dict['key3'][0].upper()

We can affect the values of a key as well. For instance:

In [ ]:
my_dict['key1']
In [ ]:
# Subtract 123 from the value
my_dict['key1'] = my_dict['key1'] - 123
In [ ]:
#Check
my_dict['key1']

A quick note, Python has a built-in method of doing a self subtraction or addition (or multiplication or division). We could have also used += or -= for the above statement. For example:

In [ ]:
# Set the object equal to itself minus 123 
my_dict['key1'] -= 123
my_dict['key1']

We can also create keys by assignment. For instance if we started off with an empty dictionary, we could continually add to it:

In [ ]:
# Create a new dictionary
d = {}
In [ ]:
# Create a new key through assignment
d['animal'] = 'Dog'
In [ ]:
# Can do this with any object
d['answer'] = 42
In [ ]:
#Show
d

Nesting with Dictionaries

Hopefully you're starting to see how powerful Python is with its flexibility of nesting objects and calling methods on them. Let's see a dictionary nested inside a dictionary:

In [ ]:
# Dictionary nested inside a dictionary nested inside a dictionary
d = {'key1':{'nestkey':{'subnestkey':'value'}}}

Wow! That's a quite the inception of dictionaries! Let's see how we can grab that value:

In [ ]:
# Keep calling the keys
d['key1']['nestkey']['subnestkey']

A few Dictionary Methods

There are a few methods we can call on a dictionary. Let's get a quick introduction to a few of them:

In [ ]:
# Create a typical dictionary
d = {'key1':1,'key2':2,'key3':3}
In [ ]:
# Method to return a list of all keys 
d.keys()
In [ ]:
# Method to grab all values
d.values()
In [ ]:
# Method to return tuples of all items  (we'll learn about tuples soon)
d.items()

Hopefully you now have a good basic understanding how to construct dictionaries. There's a lot more to go into here, but we will revisit dictionaries at later time. After this section all you need to know is how to create a dictionary and how to retrieve values from it.

In [ ]: