dict
即字典,是另一种可变容器类模型,可存储任意类型对象。
key:value形式,取值速度快
key必须是不可变类型且唯一,所以key用字符串吗,数字,元组
(布尔值也可以作为key,不过可能与0或者1重复,key重复时只保留后一个显示,把前面的给覆盖掉),value可以是任意类型,可以不唯一,不能是空字符
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
1 d1={"name":"garrett","age":123}
支持for循环
字典可变,但无序,不能索引和切片,但是就可以通过key来取值,或者用get()方法用key取值(get()可定义无查找对象时的返回值)
字典支持删除
1 d3={ 2 11:12, 3 "12":123, 4 True:124, 5 #[1,2]:12,#list不能当key 6 (12,3):12,#元组不能修改,可以 7 #{12,3}:123#字典可变,不能当key 8 123:{ 9 "a":"A", 10 "b":"B", 11 "c":(11,22) 12 } 13 } 14 # print(d3[3])#不能用索引取值 15 print(d3["12"])#要用key取值 16 print(d3[11]) 17 print(d3[123]["c"][1])#深层取值 18 19 del d3[11]#可以按照key来删除键值对 20 print(d3) 21 22 del d3[123]["c"]#深层删除 23 print(d3)
结果
1 123 2 12 3 22 4 {'12': 123, True: 124, (12, 3): 12, 123: {'a': 'A', 'b': 'B', 'c': (11, 22)}} 5 {'12': 123, True: 124, (12, 3): 12, 123: {'a': 'A', 'b': 'B'}}
1 d3={ 2 11:12, 3 "12":123, 4 True:124, 5 (12,3):12, 6 123:{ 7 "a":"A", 8 "b":"B", 9 "c":(11,22) 10 } 11 } 12 for item in d3:#默认循环只有key输出 13 print(item)
结果
1 11 2 12 3 True 4 (12, 3) 5 123
用内置方法输出key和value
1 d3={ 2 11:12, 3 "12":123, 4 True:124, 5 (12,3):12, 6 123:{ 7 "a":"A", 8 "b":"B", 9 "c":(11,22) 10 } 11 } 12 print(d3.keys()) 13 print(d3.values()) 14 for item1 in d3.values(): 15 print(item1) 16 for item2 in d3.keys(): 17 print(item2)
结果
1 dict_keys([11, '12', True, (12, 3), 123]) 2 dict_values([12, 123, 124, 12, {'a': 'A', 'b': 'B', 'c': (11, 22)}]) 3 12 4 123 5 124 6 12 7 {'a': 'A', 'b': 'B', 'c': (11, 22)} 8 11 9 12 10 True 11 (12, 3) 12 123
同时输出key和value
1 d3={ 2 11:12, 3 "12":123, 4 True:124, 5 (12,3):12, 6 123:{ 7 "a":"A", 8 "b":"B", 9 "c":(11,22) 10 } 11 } 12 #用内置方法同时输出key和values 13 print(d3.items()) 14 for k,v in d3.items():# 15 print(k,v)
结果
1 dict_items([(11, 12), ('12', 123), (True, 124), ((12, 3), 12), (123, {'a': 'A', 'b': 'B', 'c': (11, 22)})]) 2 11 12 3 12 123 4 True 124 5 (12, 3) 12 6 123 {'a': 'A', 'b': 'B', 'c': (11, 22)}
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。如下实例:
1 dict1 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 2 dict1['Age'] = 8 # 更新 Age 3 dict1['School'] = "AWD" # 添加信息 4 5 print("dict1['Age']: ", dict1['Age']) 6 print("dict1['School']: ", dict1['School'])
结果
1 dict1['Age']: 8 2 dict1['School']: AWD
字典要掌握的操作:
1.按key存取值
2.长度len
3.成员运算in和not in
4.删除
5.keys()和values()以及items()方法
6.循环
1 d3={ 2 11:12, 3 "12":123, 4 True:124, 5 (12,3):12, 6 123:{ 7 "a":"A", 8 "b":"B", 9 "c":(11,22) 10 } 11 } 12 print(len(d3)) 13 print("a" in d3) 14 print("A" in d3)
结果
1 False 2 False