Dictionaries: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) No edit summary |
||
Line 70: | Line 70: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="python3"> | |||
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") | |||
</syntaxhighlight> | |||
== Standards == | == Standards == |
Revision as of 09:19, 30 September 2020
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']
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")
Standards[edit]
- Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.