Python3基本数据类型之dict

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
上一篇:PTA最短工期


下一篇:D3.tsv与D3.csv加载数据