字典
-
1 定义
字典中的每个键值对都用冒号表示,键值对之间使用逗号分隔。dict1 = {"name":"乔峰","age":"32","sex":"男"}
-
2 关于键值
1)键可以是整数,浮点数,字符串,元组,布尔 ,None
2)列表和字典不允许做键值
3)键值重复,后面的覆盖前面的
4)值可以是任意类型,也可以相同,也可以是None -
3 操作
1)len()
计算字典中键值对的个数d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(len(d))
2)clear()
删除字典中所有元素,返回值Noned = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(d.clear())
3)pop()
删除指定键值对,并返回。d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(d.pop("name"))#打印 大力,pop返回删除的键值 print(d)#打印{'age': 18, 'sex': '女', 'height': 155, 'weight': 60.0}
popitem()方法删除字典最后一组键值对并返回
4)get()
get方法返回指定键对应的值,如果键不在字典中返回None。d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(d.get("name"))
5)update()
dict1 = {"name":"Tony","age":"18"} dict2 = {"sex":"boy"} dict1.update(dict2) print(dict1)
将dict2的键值添加到dict1中,键相同时dict2的对应值替换dict1。
update()方法可以直接添加键值对到字典中,键相同时会替换原有值,字典不存在添加的键时,会自动创建键值对。d = {"name":"Tony","age":"18"} d.update(weight = 60) print(d)#打印'name': 'Tony', 'age': '18', 'weight': 60}
6)items()
使用items()方法后,会把字典元素转为元组形式。d = {'a':1, 'b':2, 'c':3} print(d.items())#输出dict_items([('a', 1), ('b', 2), ('c', 3)]) #可以使用item()遍历字典 for key,value in d.items(): print(key,value)
7)values()和keys()
values():以列表形式返回字典中所有的值
keys():以列表形式返回字典中所有的键d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(d.values())#dict_values(['大力', 18, '女', 155, 60.0])
keys()
以列表形式返回字典中所有的键
8)fromkeys()
dict.fromkeys(seq,[,value])以seq中的元素作为键,以value元素作为值。d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} d_ = d.fromkeys(("name","age"),"曾小贤") print(d_)#打印{'name': '曾小贤', 'age': '曾小贤'}
9)setdefault()
和get()方法类似,键不存在时,在字典中创建键值对。
setdefault(key,[,default=None])d = {"name":"大力","age":18,"sex":"女","height":155,"weight":60.0} print(d.setdefault("name","小李"))#键存在返回字典中的值 print(d.setdefault("school","11中"))#键不存在,在字典中创建键值对,返回键值 print(d.setdefault("school"))#键不存在,没有对应值,默认返回None