赞
踩
字典(dict)是一个元素集,其中每个元素为一个“键(key)—值(value)”对。
字典主要有以下性质:
(1)多类型。字典能存储任意类型的对象。同一个字典中的“键”和“值”类型均可不同。
(2)唯一性。同一个字典中的每个“键”都是唯一的,而“值”可以重复。
字典的构建遵循如下规则:
(1)不同元素用“,”(逗号)分隔。
(2)同一个元素中的“键”和“值”用“:”(冒号)分隔。
(3)整个字典用“{}”(花括号)所包括。
如下所示:
dict1 = {key1:value1, key2:value2}
创建字典时,可以使用dict()方法,也可以直接用“{}”来包括其中的元素。
- a = dict()
- b = dict({1:'aaa',2:'bbb',3:'ccc'})
- c = {1:'aaa',2:'bbb',3:'ccc'}
- print(a)
- print(b)
- print(c)
-
- Out:
- {}
- {1: 'aaa', 2: 'bbb', 3: 'ccc'}
- {1: 'aaa', 2: 'bbb', 3: 'ccc'}
fromkeys用于根据元组(包括所有键)创建字典:
- t = (1,2,3)
- a1 = dict.fromkeys(t)
- a2 = dict.fromkeys(t,'aaa')
- print(a1)
- print(a2)
-
- Out:
- {1: None, 2: None, 3: None}
- {1: 'aaa', 2: 'aaa', 3: 'aaa'}
复制字典时,使用copy。
- a = {1:'aaa',2:'bbb',3:'ccc'}
- b = a
- c = a.copy()
-
- b.pop(3)
-
- print(a)
- print(b)
- print(c)
-
- Out:
- {1: 'aaa', 2: 'bbb'}
- {1: 'aaa', 2: 'bbb'}
- {1: 'aaa', 2: 'bbb', 3: 'ccc'}
update用于向字典中增加元素,或修改字典中的元素。
- a = {1:'aaa',2:'bbb',3:'ccc'}
-
- a.update({4:'ddd'}) # 增加元素
- print(a)
-
- a.update({4:'abcd'}) # 修改元素
- print(a)
-
- Out:
- {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'ddd'}
- {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'abcd'}
若需要将2个字典合并,可以使用copy+update方法。
- a = {1:'aaa',2:'bbb'}
- b = {3:'ccc',4:'ddd'}
-
- c = a.copy()
- c.update(b)
-
- print(c)
-
- Out:
- {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'ddd'}
查询单个元素:已知“键”查询“值”时,“键”用“[]”(中括号)包括。
- a = {1:'aaa',2:'bbb',3:'ccc'}
- a1 = a[2]
- print(a1)
-
- Out:
- bbb
判断某个“键”是否在字典中:
- a = {1:'aaa',2:'bbb',3:'ccc'}
- b = 3 in a
- print(b)
-
- Out:
- True
popitem用于读取字典中的1个元素,同时将该元素从字典中删除。
- a = {1:'aaa',2:'bbb',3:'ccc'}
- t1 = a.popitem()
- print(t1)
- print(type(t1))
- print(a)
-
- Out:
- (3, 'ccc')
- <class 'tuple'>
- {1: 'aaa', 2: 'bbb'}
items、keys、values等方法可以输出整个字典的元素、键、值:
- a = {1:'aaa',2:'bbb',3:'ccc'}
- items1 = a.items()
- keys1 = a.keys()
- values1 = a.values()
-
- print(items1)
- print(keys1)
- print(values1)
-
- print(type(items1))
- print(type(keys1))
- print(type(values1))
-
- Out:
- dict_items([(1, 'aaa'), (2, 'bbb'), (3, 'ccc')])
- dict_keys([1, 2, 3])
- dict_values(['aaa', 'bbb', 'ccc'])
- <class 'dict_items'>
- <class 'dict_keys'>
- <class 'dict_values'>
使用items、keys、values等方法输出的元素、键、值等,可以转化为集合(set):
- a = {1:'aaa',2:'bbb',3:'ccc'}
- items1 = a.items()
- keys1 = a.keys()
- values1 = a.values()
-
- s1 = set(items1)
- s2 = set(keys1)
- s3 = set(values1)
-
- print(s1)
- print(s2)
- print(s3)
-
- Out:
- {(2, 'bbb'), (3, 'ccc'), (1, 'aaa')}
- {1, 2, 3}
- {'bbb', 'ccc', 'aaa'}
也可以转化为列表(list):
- a = {1:'aaa',2:'bbb',3:'aaa'}
-
- list1 = list(a.keys())
- list2 = [key for key in a.keys()]
- list3 = list(a.values())
- list4 = [value for value in a.values()]
-
- print(list1)
- print(list2)
- print(list3)
- print(list4)
-
- Out:
- [1, 2, 3]
- [1, 2, 3]
- ['aaa', 'bbb', 'aaa']
- ['aaa', 'bbb', 'aaa']
pop用于根据“值”删除对应的元素。
- a = {1:'aaa',2:'bbb',3:'ccc'}
- a.pop(3) # 删除键为3的元素
- print(a)
-
- Out:
- {1: 'aaa', 2: 'bbb'}
clear用于清空字典,即删除所有元素。
- a = {1:'aaa',2:'bbb',3:'ccc'}
- a.clear()
- print(a)
-
- Out:
- {}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。