*Memos:
- My post explains dictionary (1).
- My post explains dictionary (2).
- My post explains useful functions for a dictionary (1).
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 update a dictionary 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', 'gender':'Male'})
print(v)
# {'name': 'David', 'age': 36, 'gender': 'Male'}
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
v.update({'person1':{'name':'David', 'gender':'Male'}})
v['person2'].update({'name':'Tom', 'gender':'Male'})
print(v)
# {'person1': {'name': 'David', 'gender': 'Male'},
# 'person2': {'name': 'Tom', 'age': 24, 'gender': 'Male'}}
You can use a del statement to remove a key and value from a dictionary by a key in each []
or to remove a variable itself as shown below:
v = {'name':'John', 'age':36}
del v['name']
print(v) # {'age': 36}
del v
print(v) # NameError: name 'v' is not defined
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
del v['person1']
print(v) # {'person2': {'name': 'Anna', 'age': 24}}
del v['person2']['name']
print(v) # {'person2': {'age': 24}}
del v
print(v) # NameError: name 'v' is not defined
You can use pop() to remove a key and value from a dictionary by a key, throwing the value as shown below:
*Memos:
- The 1st argument is
key
(Required) for a key. - The 2nd argument is
default
(Optional) to return a value when a key doesn't exist. *There is no default value. - If
key
doesn't exist anddefault
isn't set, there is error. - Don't use
key=
anddefault=
.
v = {'name':'John', 'age':36}
print(v.pop('name')) # John
print(v) # {'age': 36}
print(v.pop('gender', "Doesn't exist!")) # Doesn't exist!
print(v) # {'age': 36}
print(v.pop('gender')) # KeyError: 'gender'
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
print(v.pop('person1')) # {'name': 'John', 'age': 36}
print(v['person2'].pop('name')) # Anna
print(v) # {'person2': {'age': 24}}
You can use popitem() to remove the last key and value from a dictionary, throwing the value as shown below:
*Memos:
- There are no arguments.
- If a dictionary is empty, there is error.
v = {'name':'John', 'age':36, 'gender':'Male'}
print(v.popitem()) # ('gender', 'Male')
print(v) # {'name': 'John', 'age': 36}
print(v.popitem()) # ('age', 36)
print(v) # {'name': 'John'}
print(v.popitem()) # ('name', 'John')
print(v) # {}
print(v.popitem()) # KeyError: 'popitem(): dictionary is empty'
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
print(v.popitem()) # ('person2', {'name': 'Anna', 'age': 24})
print(v) # {'person1': {'name': 'John', 'age': 36}}
print(v['person1'].popitem()) # ('age', 36)
print(v) # {'person1': {'name': 'John'}}
print(v['person1'].popitem()) # ('name', 'John')
print(v) # {'person1': {}}
You can use clear() to remove all keys and values from a dictionary as shown below. *There are no arguments:
v = {'name':'John', 'age':36}
v.clear()
print(v) # {}
v = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
v['person1'].clear()
print(v) # {'person1': {}, 'person2': {'name': 'Anna', 'age': 24}}
v.clear()
print(v) # {}
You can use copy() to copy a dictionary as shown below:
*Memos:
- There are no arguments.
-
copy()
does shallow copy.
v1 = {'name':'John', 'age':36}
v2 = v1.copy()
v2['name'] = 'David'
print(v1) # {'name': 'John', 'age': 36}
print(v2) # {'name': 'David', 'age': 36}
v1 = {'person1':{'name':'John', 'age':36},
'person2':{'name':'Anna', 'age':24}}
v2 = v1.copy()
v2['person1'] = {'name':'David', 'age':48}
v2['person2']['name'] = 'Tom'
v2['person2']['age'] = 18
print(v1) # {'person1': {'name': 'John', 'age': 36},
# 'person2': {'name': 'Tom', 'age': 18}} # Here
print(v2) # {'person1': {'name': 'David', 'age': 48},
# 'person2': {'name': 'Tom', 'age': 18}} # Here
Top comments (0)