目录
1. 字典概述
2. 使用方法
2.1 字典初步
2.1.1 初始化字典
2.1.2 字典元素的访问
2.2 字典的处理(方法)
Dictionary,字典。
在python中,字典也是一个非常有用的工具,也是python中唯一的映射集。
字典元素由键值对构成。而字典中的键,类似于列表的索引值,我们一般用其来访问字典的值。与列表不一样的是,字典的键,我们可以自己定义。
字典的元素,item;键,keys;值,values。
1. 字典的初始化常见的有两种方法:
>>> my_dict = {} # 或者 >>> my_dict = dict()
使用第二种方法初始化字典的时候,有几种方法:
1.1 参数为元组时,只能有一个,但可以将多个元组使用小括号将其作为一个整体。dict() 参数为元组,元组第一个元素即为字典的键,第二个元素为字典的值。例:
>>> my_dict = dict((('a',1), ('b',2), ('c',3))) >>> my_dict {'a': 1, 'b': 2, 'c': 3}
1.2 有多个参数时,格式如下:(输入后,python会自动依据键的顺序进行排序保存;而且参数不能是表达式!!!)
>>> my_dict = dict(a = 1,b = 2)#'a' = 1,此种输入会报错 >>> my_dict {'a': 1, 'b': 2}
1.3 ......
总而言之,只要保证dict()的参数存在映射关系即可使用第二种方法创建字典。
类似于列表下标索引值。我们访问字典元素的值是通过键来访问的。
>>> my_dict = dict((('a',1), ('b',2), ('c',3))) >>> my_dict {'a': 1, 'b': 2, 'c': 3} >>> my_dict['a'] 1
1.增加新的键值对:此种方法,若增加的键存在于原字典,则原字典的值会被覆盖;若不存在,则新创建一个键值对。
>>> a = dict() >>> a {} >>> a['a'] = 1 >>> a {'a': 1}
2. _dict_.fromkeys(S[,v]):
新建一个字典。
必须存在的参数,S,字典的键;可选参数,v,字典的值,默认为None。
>>> adict = {} >>> adict.fromkeys((1,2,3)) {1: None, 2: None, 3: None} >>> adict.fromkeys(('a', 'b', 'c'),0) {'a': 0, 'b': 0, 'c': 0}
注意,该种方法不可以用来批量修改字典的值,因为他会新建一个字典,以致于会覆盖原字典
3. 遍历字典的键:_dict_.keys();
遍历字典的值:_dict_.values();
遍历字典的元素:_dict_.items()。
以上三种方法会生成各自对应的列表。例:
>>> adict = {} >>> adict.fromkeys(range(10), 0) {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0} >>> for num in range(10): adict[str(num)] = num**2 >>> adict.keys() dict_keys(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']) >>> adict.values() dict_values([0, 1, 4, 9, 16, 25, 36, 49, 64, 81]) >>> adict.items() dict_items([('0', 0), ('1', 1), ('2', 4), ('3', 9), ('4', 16),\ ('5', 25), ('6', 36), ('7', 49), ('8', 64), ('9', 81)])
4. _dict_.get():
用来访问字典元素。
必需参数为键的名称,选择参数为default,初始值为None。
若访问对象存在,则返回输入键所对应的值;若访问对象不存在,则返回default的值。
使用上一个例子:
>>> a = '5' >>> b = '10' >>> adict.get(a) 25 >>> adict.get(b) >>> #无返回值 >>> adict.get(b, 'error') 'error'
5._dict_.clear():
清除字典元素。
返回一个空字典,储存地址不变。
6._dict_.copy():浅拷贝,类似列表的copy()方法。
7. _dict_.pop():
根据参数,删除字典中的一个键。
参数为想要删除的键。
删除成功则返回删除的值; 删除失败(即想要删除的参数不存在时),返回KeyError。
>>> adict = {'1': 1, '2': 4, '3': 9, '4': 16, '5': 25, '6': 36, '7': 49, '8': 64, '9': 81} >>> adict.pop('6') 36 >>> adict {'1': 1, '2': 4, '3': 9, '4': 16, '5': 25, '7': 49, '8': 64, '9': 81} >>> adict.pop('10') Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> adict.pop('10') KeyError: '10'
随机删除字典中键值对可以使用_dict_.popitem()方法:
该方法无参数。以元组形式返回删除成功的键值对。
8. _dict_.update():
根据参数的映射方法去更新另一个字典的方法。
>>> adict = {1: 1, 2: 4, 3: 9, 4: 16, 5: None} >>> bdict = {5: 25} >>> adict.update(bdict) >>> adict {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
All of this...
See you next part...