Introduction
>>> my_dict = {'name': 'Kenneth'}
>>> my_dict
{'name': 'Kenneth'}
Key
Order of keys can change over time. This is why indexes have no use in dictionaries.
>>> my_dict = {'name': 'Kenneth', 'job': 'Teacher'}
>>> my_dict['job']
'Teacher'
>>> my_dict
{'job': 'Teacher', 'name': 'Kenneth'}
Dictionaries as Keys
>>> name_dict = {'names': {'first': 'Kenneth', 'last': 'Love'}} >>> name_dict {'name': {'last': 'Love', 'first': 'Kenneth'}} >>> name_dict['names'] {'last': 'Love', 'first': 'Kenneth'} >>> name_dict['names']['last'] 'Love'
Tuples as Keys
Checking if a dungeon cell location (x,y) contains a monster or not, using Tuples.
>>> game_dict = {(2,2): True, (1,2): False} >>> game_dict {(2,2): True, (1,2): False} >>> game_dict[(1,2)] False
EXERCISE 1
List index VS. Dictionary key
def members(my_dict, my_list):
count = 0
for item in my_list:
for key in my_dict: ## key in my_dict
if key == item:
count += 1
return count
Create/Modify Key
>>> my_dict = {'name': 'Kenneth', 'job': 'Teacher'} >>> my_dict['age'] = 33 >>> my_dict {'name': 'Kenneth', 'job': 'Teacher', 'age': 33} >>> my_dict['age'] = 34 >>> my_dict['age'] 34
Process Multiple Keys
>>> my_dict = {'name': 'Kenneth', 'job': 'Teacher', 'age': 33} >>> my_dict.update({'job': 'Teacher', 'state': 'Oregon', 'age': '33', 'name': 'Kenneth'}) >>> my_dict {'job': 'Teacher', 'state': 'Oregon', 'age': '33', 'name': 'Kenneth'}
EXERCISE 2
Write a function that counts String items into a Dictionary
def word_count(my_string):
my_dict = {}
my_list = my_string.split()
for item in my_list:
if item not in my_dict:
my_dict.update({item: 1})
else:
my_dict[item] += 1
return my_dict
OUTPUT:
>>> print(word_count("i am that i am")) {'am': 2, 'i': 2, 'that': 1}