*My post explains useful functions.
You can create a dictionary as shown below. *dict() can also create a dictionary:
v = {'name':'John', 'age':36}
v = dict(name='John', age=36)
v = dict([('name', 'John'), ('age', 36)])
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Tom', 'age':24}}
v = dict(person1=dict(name='John', age=36),
person2=dict(name='Tom', age=24))
v = dict([('person1', dict([('name', 'John'), ('age', 36)])),
('person2', dict([('name', 'Tom'), ('age', 24)]))])
You can access and modify a dictionary with a key in each [] as shown below. *A dictionary is mutable so you can modify a dictionary:
*Memos:
items() can get zero or more keys and values from a dictionary. *There are no arguments.
keys() can get zero or more keys from a dictionary. *There are no arguments.
values() can get zero or more values from a dictionary. *There are no arguments.
v = {'name':'John', 'age':36}
v = dict(name='John', age=36)
v = dict([('name', 'John'), ('age', 36)])
print(v['name'], v['age'])
# John 36
v['name'] = 'David'
v['gender'] = 'Male'
print(v)
# {'name': 'David', 'age': 36, 'gender': 'Male'}
print(v.items())
# dict_items([('name', 'David'), ('age', 36), ('gender', 'Male')])
print(v.keys())
# dict_keys(['name', 'age', 'gender'])
print(v.values())
# dict_values(['David', 36, 'Male'])
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
v = dict(person1=dict(name='John', age=36),
person2=dict(name='Tom', age=24))
v = dict([('person1', dict([('name', 'John'), ('age', 36)])),
('person2', dict([('name', 'Tom'), ('age', 24)]))])
print(v['person1'], v['person2'])
# {'name': 'John', 'age': 36} {'name': 'Tom', 'age': 24}
print(v['person1']['name'], v['person1']['age'],
v['person2']['name'], v['person2']['age'])
# John 36 Anna 24
v['person1']['name'] = 'David'
v['person2']['gender'] = 'Female'
v['person3'] = {'name':'Tom', 'age':18, 'gender':'Male'}
print(v)
# {'person1': {'name': 'David', 'age': 36},
# 'person2': {'name': 'Anna', 'age': 24, 'gender': 'Female'},
# 'person3': {'name': 'Tom', 'age': 18, 'gender': 'Male'}}
You can use get() to get a value from a dictionary by a key as shown below:
*Memos:
- The 1st argument is
key(Required) for a key. - The 2nd argument is
default(Optional-Default:None) to return a value when a key doesn't exist. - Don't use
key=anddefault=.
v = {'name':'John', 'age':36}
print(v.get('name')) # John
print(v.get('gender')) # None
print(v.get('gender', "Doesn't exist!")) # Doesn't exist!
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
print(v.get('person2')) # {'name': 'Anna', 'age': 24}
print(v['person2'].get('name')) # Anna
You can use update() to get a value from a dictionary by a key as shown below:
*Memos:
- The 1st argument is
key(Required) for a key. - The 2nd argument is
default(Optional-Default:None) to return a value when a key doesn't exist. - Don't use
key=anddefault=.
v = {'name':'John', 'age':36}
v.update({'name':'David'})
print(v) # {'name': 'David', 'age': 36}
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
v.update({'person1':{'name':'David'}})
v['person2'].update({'name':'Tom'})
print(v) # {'person1': {'name': 'David'},
# 'person2': {'name': 'Tom', 'age': 24}}