Dictionaries

From Computer Science Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Programming basics[1]

Dictionaries are sometimes found in other languages as “associative memories” or “associative arrays”. Unlike sequences, which are indexed by a range of numbers, dictionaries are indexed by keys.

It is best to think of a dictionary as an unordered set of key: value pairs, with the requirement that the keys are unique (within one dictionary). A pair of braces creates an empty dictionary: {}. Placing a comma-separated list of key:value pairs within the braces adds initial key:value pairs to the dictionary; this is also the way dictionaries are written on output.

The main operations on a dictionary are storing a value with some key and extracting the value given the key. It is also possible to delete a key:value pair with del. If you store using a key that is already in use, the old value associated with that key is forgotten. It is an error to extract a value using a non-existent key.[2]

Creating a dictionary[edit]

# The code below creates a dictionary 
# Please note the KEY:VALUE construction

studentEmail = {
'Alice':'alice@google.com', 
'Bob':'bob@facebook.com', 
'Charlie':'charlez@microsoft.com', 
'Daniel':'danny@aswarsaw.org'
}

# Bob's email can be called by:

studentEmail['Bob']

# (in a list, we would need to do something like: studentEmail[1] )

Accessing a dictionary[edit]

# If you want to print a dictionary (kind of ugly) you can simply type:

print(studentEmail)

# However, it is far more common to retrieve an element by it's key
# The instructions below accesses Bob's email address:

print(studentEmail['Bob'])

# in addition, we have the following functions to access elements in a dictionary<ref>https://www.digitalocean.com/community/tutorials/understanding-dictionaries-in-python-3</ref>:

# dict.keys() isolates keys
# dict.values() isolates values
# dict.items() returns items in a list format of (key, value) tuple pairs

Inserting into a dictionary[edit]

# if we want to add into a dictionary we can simply type:

studentEmail['Bill'] = 'bmackenty@aswarsaw.org'

# if we wanted to replace a certain element, we could simply overwrite it. 

studentEmail['Bill'] = 'bmackenty@gmail.com'

Deleting an element from a dictionary[edit]

# The del function deletes an element from a list:

del studentEmail['Bill']

Iterating through dictionaries and testing dictionaries[edit]

studentEmail = {
'Alice':'alice@google.com', 
'Bob':'bob@facebook.com', 
'Charlie':'charlez@microsoft.com', 
'Daniel':'danny@aswarsaw.org'
}

# iterate through the keys:
for i in studentEmail.keys():
    print(i)

# iterate through the values:
for i in studentEmail.values():
    print(i)

# iterate through the items:
for i in studentEmail.items():
    print(i)   

# to test if a key is in a dictionary
if "Alice" in studentEmail:
    print("Alice is in the dictionary")
else:
    print("Alice is not in the dictionary")

# to test if a value is in a dictionary
if "alice@google.com" in studentEmail.values():
    print("alice@google.com is in the dictionary")
else:
    print("alice@google.com is not in the dictionary")

# if we want to get the key from a value, this is one way to do it. 
for key, value in studentEmail.items():
    if value == "alice@google.com":
        print(key)

Standards[edit]

  • Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.


References[edit]