Dictionaries: Difference between revisions

From Computer Science Wiki
 
(7 intermediate revisions by the same user not shown)
Line 13: Line 13:
# Please note the KEY:VALUE construction
# Please note the KEY:VALUE construction


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


# Bob's email can be called by:
# Bob's email can be called by:
Line 33: Line 38:


print(studentEmail['Bob'])
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
   
   
</syntaxhighlight>
</syntaxhighlight>


== Inserting into a list ==
== Inserting into a dictionary ==


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
# if we want to add onto a list (append) we could simply use the append method. The code below appends wild board onto the end of our list.
# if we want to add into a dictionary we can simply type:


polishAnimals.append('wild boar')
studentEmail['Bill'] = 'bmackenty@aswarsaw.org'


# if we wanted to replace a certain element, we could simply overwrite it. Below we are replacing the 2nd item of our list with a new animal:
# if we wanted to replace a certain element, we could simply overwrite it.  


polishAnimals[1] = 'Stork'  
studentEmail['Bill'] = 'bmackenty@gmail.com'


</syntaxhighlight>
</syntaxhighlight>


== Deleting an element from a list ==
== Deleting an element from a dictionary ==


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">


# There are a few different ways to remove an element from a list. The first way is to call the remove method.
# The del function deletes an element from a list:
# The remove method works by finding the name of an element.


polishAnimals.remove('Moose')
del studentEmail['Bill']


# another way to remove an element from a list is to call the pop method. Pop-ing removes an index and return the value you removed.
# the line below removes the 2nd element from our list and makes it available for us to use.


polishAnimals.pop(1)
</syntaxhighlight>


# we might use the pop method like this:
== Iterating through dictionaries and testing dictionaries ==
<syntaxhighlight lang="python3">
studentEmail = {
'Alice':'alice@google.com',
'Bob':'bob@facebook.com',
'Charlie':'charlez@microsoft.com',
'Daniel':'danny@aswarsaw.org'
}


animalsDeleted = polishAnimals.pop[1]
# iterate through the keys:
for i in studentEmail.keys():
    print(i)


# we can also use the del function.
# iterate through the values:
for i in studentEmail.values():
    print(i)


del polishAnimals[2]
# iterate through the items:
for i in studentEmail.items():
    print(i) 


# to delete an entire list, call the clear method (this is only available in Python 3+
# 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")


polishAnimals.clear
# 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)


</syntaxhighlight>
</syntaxhighlight>
== Do you understand this?==


== Standards ==  
== Standards ==  

Latest revision as of 09:31, 30 September 2020

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]