Python-如何更新更改字典
1、向字典增加键值对:dict [ key ] = value
如果字典内已经存在了同名的key,value就会被修改。
例如:
d1 = {'name': 'Tom', 'age': 18}
print('更新前:',d1)
d1['name']='Jerry'
print('更新后:',d1)
更新前: {'name': 'Tom', 'age': 18}
更新后: {'name': 'Jerry', 'age': 18}

2、如果增加的键值不存在就新加入 key : value;
d1 = {'name': 'Tom', 'age': 18}
print('更新前:',d1)
d1['height']=187
print('更新后:',d1)
更新前: {'name': 'Tom', 'age': 18}
更新后: {'name': 'Tom', 'age': 18, 'height': 187}

1、用del语句来删除字典的指定的键值对:del dict[key]
例如:
d1 = {'name': 'Tom', 'age': 18, 'height': 187}
del d1['age']
print(d1)
>>>{'name': 'Tom', 'height': 187}

2、用del语句来删除整个字典用方法:del dict
d1 = {'name': 'Tom', 'age': 18, 'height': 187}
del d1

3、用dict.clear() 方法清空字典内的数据;
没有返回值,原地清理。
d1 = {'name': 'Tom', 'age': 18, 'height': 187}
d1.clear()
print(d1)

4、用pop方法删除指定的键值对:dict. pop(key[, default])
1)必须给出键参数(要删除的键),否则报错。
2)如果参数key在字典中,就删除该键,返回被删除的值。
例如:
d1={'name': '齐东强', 'age': 24, 'height': 187, 'place': '大兴安岭'}
print(d1.pop('name'))
>>>齐东强
print(d1)
>>>{'age': 24, 'height': 187, 'place': '大兴安岭'}
3)如果键不在字典就 返回 default 值。
print(d1.pop('name','访问的键不在此字典'))
>>>访问的键不在此字典

5、popitem()方法删除键值对:dict. popitem
1)无参数,按LIFO(后进先出last in first out)的顺序,删除键值对。
2)将删除的键和值以元组类型返回。
例如:
d1 = {'name': '齐东强', 'age': 24, 'height': 187
p1 = d1.popitem()
print(p1,"---",d1)
>>>('height', 187) --- {'name': '齐东强', 'age': 24}
p2 = d1.popitem()
print(p2,"-------",d1)
>>> ('age', 24) ------- {'name': '齐东强'}
p3 = d1.popitem()
print(p3,"-",d1)
>>> ('name', '齐东强') - {}

1、update方法,没有返回值。参数可以有多种形式;
用其关键字参数更改字典:dict. update([other])
1)参数other是关键字参数时,关键字和值以键值对的形式加入到字典。
2)如果有同名键,原字典的值将被覆盖掉。
例如:
d1 = {'name': '齐东强', 'age': 24, 'height': 187}
d1.update(place='塔克拉玛干',age='30')
print(d1)
>>>{'name': '齐东强', 'age': '30', 'height': 187, 'place': '塔克拉玛干'}

2、用其他字典覆盖原字典:dict. update([other])
1)参数other是个字典。
2)将other的键值对,加入到dict内,如有同名键,将原值更新。
3)字典other的数据不变。
例如:
d1 = {'name': '齐东强', 'age': 24, 'height': 187}
d2={'place':'塔克拉玛干','gender':'男','age':27}
d1.update(d2)
print(d1)
print(d2)
>>>{'name': '齐东强', 'age': 27, 'height': 187, 'place': '塔克拉玛干', 'gender': '男'}
>>>{'place': '塔克拉玛干', 'gender': '男', 'age': 27}

3、用可迭代的对象更新字典 :dict. update([other])
1)other是可迭代的对象
2)可迭代对象的元素必须是两个子元素的可迭代对象(例如:[(a,1),(b,2)])。
例如:
d1 = {'name': '齐东强', 'age': 24, }
d1.update([('height',187),('place','乌兰察布')])
print(d1)
>>>{'name': '齐东强', 'age': 24, 'height': 187, 'place': '乌兰察布'}

4、以上2,3项 的参数里,都可跟关键字参数:
例如:在字典后跟关键字参数:
d1 = {'name': '齐东强', 'age': 24, 'height': 187}
d2={'place':'塔克拉玛干','gender':'男'}
d1.update(d2,age=40)
print(d1)
>>>{'name': '齐东强', 'age': 40, 'height': 187, 'place': '塔克拉玛干', 'gender': '男'}
例如:在可迭代对象后跟关键字参数:
d3 = {'name': '齐东强', 'age': 24, }
d3.update([('height',187),('place','乌兰察布')], name='光头强')
print(d3)
>>>{'name': '光头强', 'age': 24, 'height': 187, 'place': '乌兰察布'}
