Python中的字典dict——增删改查(python字典怎么删除键值对)
字典是另一种可变容器模型,且可存储任意类型对象。字典中一个键与一个值对应,每个键值之间用逗号隔开,大致的形式如下:
d = {key1:value1 , key2:value2 , key3:value3}
创建字典
d = {} #空字典
d = {'name':'jack' , 'age':30 }
值得提一下的是,字典中的键有一些特殊的规定:
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,最后一个值会被保留,即前一个会被覆盖,通常也可以采取这个方式修改字典的值
- 键必须不可变,在Python中可以用数字,字符串或元组等充当,用列表就不行,因为列表是可变的。
读取字典
print(d.keys()) #获取字典中的键
# dict_keys(['name', 'age'])
print(d.values()) #获取字典中的值
#dict_values(['jack', 30])
print(d['name']) # 通过键读取值,当键不存在的时候,会报错,可以使用.get()方法
# jack
print(d.get('name',None))
# jack
print(d.get('sex',None))
# 当键不存在的时候不会报错,会返回None
for k,v in d.items(): #遍历字典
print(k,v)
# name jack
# age 30
增加、修改字典的内容
d['性别'] = '男性' #不存在的键,会新增
print(d)
# {'name': 'jack', 'age': 30, '性别': '男性'}
# 如果是存在的键,则会修改值的内容
d['name'] = '杰克'
print(d)
# {'name': '杰克', 'age': 30, '性别': '男性'}
删除字典\键值
del d['age'] #删除一个键值对
d.clear() #清空字典,返回一个空字典
del d #删除整个字典
最后附上字典的一些内置方法:
序号 | 函数及描述 |
1 | dict.clear() 删除字典内所有元素 |
2 | dict.copy() 返回一个字典的浅复制 |
3 | dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
4 | dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | dict.has_key(key) 如果键在字典dict里返回true,否则返回false |
6 | dict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | dict.keys() 以列表返回一个字典所有的键 |
8 | dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | dict.values() 以列表返回字典中的所有值 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 返回并删除字典中的最后一对键和值。 |