Python学习日记——字典(可以自定义索引值的列表)

  • Post author:
  • Post category:python

目录

1. 字典概述

2. 使用方法

2.1 字典初步

2.1.1 初始化字典

2.1.2 字典元素的访问

2.2 字典的处理(方法)


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…


版权声明:本文为m0_61357071原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。