当前位置:   article > 正文

Python中字典(dict)的基本性质及使用方法_第1关:字典的属性、方法与应用

第1关:字典的属性、方法与应用

字典(dict)是一个元素集,其中每个元素为一个“键(key)—值(value)”对。

字典主要有以下性质:

(1)多类型。字典能存储任意类型的对象。同一个字典中的“键”和“值”类型均可不同。

(2)唯一性。同一个字典中的每个“键”都是唯一的,而“值”可以重复。

字典的构建遵循如下规则:

(1)不同元素用“,”(逗号)分隔。

(2)同一个元素中的“键”和“值”用“:”(冒号)分隔。

(3)整个字典用“{}”(花括号)所包括。

如下所示:

dict1 = {key1:value1, key2:value2}

1. 字典的初始化

创建字典时,可以使用dict()方法,也可以直接用“{}”来包括其中的元素。 

  1. a = dict()
  2. b = dict({1:'aaa',2:'bbb',3:'ccc'})
  3. c = {1:'aaa',2:'bbb',3:'ccc'}
  4. print(a)
  5. print(b)
  6. print(c)
  7. Out:
  8. {}
  9. {1: 'aaa', 2: 'bbb', 3: 'ccc'}
  10. {1: 'aaa', 2: 'bbb', 3: 'ccc'}

fromkeys用于根据元组(包括所有键)创建字典:

  1. t = (1,2,3)
  2. a1 = dict.fromkeys(t)
  3. a2 = dict.fromkeys(t,'aaa')
  4. print(a1)
  5. print(a2)
  6. Out:
  7. {1: None, 2: None, 3: None}
  8. {1: 'aaa', 2: 'aaa', 3: 'aaa'}

复制字典时,使用copy。

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. b = a
  3. c = a.copy()
  4. b.pop(3)
  5. print(a)
  6. print(b)
  7. print(c)
  8. Out:
  9. {1: 'aaa', 2: 'bbb'}
  10. {1: 'aaa', 2: 'bbb'}
  11. {1: 'aaa', 2: 'bbb', 3: 'ccc'}

2. 字典元素的增加和修改

update用于向字典中增加元素,或修改字典中的元素。

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. a.update({4:'ddd'}) # 增加元素
  3. print(a)
  4. a.update({4:'abcd'}) # 修改元素
  5. print(a)
  6. Out:
  7. {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'ddd'}
  8. {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'abcd'}

若需要将2个字典合并,可以使用copy+update方法。

  1. a = {1:'aaa',2:'bbb'}
  2. b = {3:'ccc',4:'ddd'}
  3. c = a.copy()
  4. c.update(b)
  5. print(c)
  6. Out:
  7. {1: 'aaa', 2: 'bbb', 3: 'ccc', 4: 'ddd'}

3. 字典元素的查询

 查询单个元素:已知“键”查询“值”时,“键”用“[]”(中括号)包括。

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. a1 = a[2]
  3. print(a1)
  4. Out:
  5. bbb

判断某个“键”是否在字典中:

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. b = 3 in a
  3. print(b)
  4. Out:
  5. True

 4. 字典元素的读取

popitem用于读取字典中的1个元素,同时将该元素从字典中删除。

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. t1 = a.popitem()
  3. print(t1)
  4. print(type(t1))
  5. print(a)
  6. Out:
  7. (3, 'ccc')
  8. <class 'tuple'>
  9. {1: 'aaa', 2: 'bbb'}

5. 字典中所有元素的查看

items、keys、values等方法可以输出整个字典的元素、键、值:

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. items1 = a.items()
  3. keys1 = a.keys()
  4. values1 = a.values()
  5. print(items1)
  6. print(keys1)
  7. print(values1)
  8. print(type(items1))
  9. print(type(keys1))
  10. print(type(values1))
  11. Out:
  12. dict_items([(1, 'aaa'), (2, 'bbb'), (3, 'ccc')])
  13. dict_keys([1, 2, 3])
  14. dict_values(['aaa', 'bbb', 'ccc'])
  15. <class 'dict_items'>
  16. <class 'dict_keys'>
  17. <class 'dict_values'>

使用items、keys、values等方法输出的元素、键、值等,可以转化为集合(set):

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. items1 = a.items()
  3. keys1 = a.keys()
  4. values1 = a.values()
  5. s1 = set(items1)
  6. s2 = set(keys1)
  7. s3 = set(values1)
  8. print(s1)
  9. print(s2)
  10. print(s3)
  11. Out:
  12. {(2, 'bbb'), (3, 'ccc'), (1, 'aaa')}
  13. {1, 2, 3}
  14. {'bbb', 'ccc', 'aaa'}

也可以转化为列表(list):

  1. a = {1:'aaa',2:'bbb',3:'aaa'}
  2. list1 = list(a.keys())
  3. list2 = [key for key in a.keys()]
  4. list3 = list(a.values())
  5. list4 = [value for value in a.values()]
  6. print(list1)
  7. print(list2)
  8. print(list3)
  9. print(list4)
  10. Out:
  11. [1, 2, 3]
  12. [1, 2, 3]
  13. ['aaa', 'bbb', 'aaa']
  14. ['aaa', 'bbb', 'aaa']

  4. 字典元素的删除

 pop用于根据“值”删除对应的元素。

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. a.pop(3) # 删除键为3的元素
  3. print(a)
  4. Out:
  5. {1: 'aaa', 2: 'bbb'}

clear用于清空字典,即删除所有元素。 

  1. a = {1:'aaa',2:'bbb',3:'ccc'}
  2. a.clear()
  3. print(a)
  4. Out:
  5. {}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/515624
推荐阅读
相关标签
  

闽ICP备14008679号