目录
1. 字典概述
Dictionary,字典。
在python中,字典也是一个非常有用的工具,也是python中唯一的映射集。
字典元素由键值对构成。而字典中的键,类似于列表的索引值,我们一般用其来访问字典的值。与列表不一样的是,字典的键,我们可以自己定义。
字典的元素,item;键,keys;值,values。
2. 使用方法
2.1 字典初步
2.1.1 初始化字典
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()的参数存在映射关系即可使用第二种方法创建字典。
2.1.2 字典元素的访问
类似于列表下标索引值。我们访问字典元素的值是通过键来访问的。
>>> my_dict = dict((('a',1), ('b',2), ('c',3)))
>>> my_dict
{'a': 1, 'b': 2, 'c': 3}
>>> my_dict['a']
1
2.2 字典的处理(方法)
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...