字典和一些用法

布啦豆 6006

字典[dict]的理解,就可以对应成我们的身份证,身份证号是唯一的【对应键】,但是姓名是可以重复的【对应值】

先定义一个字典变量

>>> first_dict = {1:1, 2:2}
>>> first_dict
{1:1, 2:2}

第一个字典变量有两个键值对:第一对的键是1,值也是1;第二队的键是2,值也是2;

然后创建第二个字典变量

>>> second_dict = {1:1, 2:1}
>>> second_dict
{1:1, 2:1}

第二个字典变量有两个键值对:第一对的键是1,值是1;第二队的键是2,值也是1;说明值是可以重复的

再创建第三个字典变量

>>> third_dict = {1:1, 1:2}
>>> third_dict
{1:2}

第二个字典变量在创建时有两个键值对:第一对的键是1,值是1;第二队的键页是1,值是2;但是在打印出来的时候,第一个键值对没了,第二个键值对存在。

下面换个位置试试

>>> fourth_dict = {1:2, 1:1}
>>> fourth_dict
{1:1}

结果正好相反,现在可以下个解决:值可以重复,但键如果重复了,后定义的值会覆盖前面定义的值

有图有真相

现在重头开始新建一个字典[dict],并学习使用它的函数

>>> one_dict = {}

查看它的全部函数,如图:

字典的可用函数

往字典里面添加键值对,在截图中并未看到类似列表的append[追加]函数,所以这里要代码演示一下如何给字典[one_dict]添加元素

>>> one_dict['name'] = 'spbeen'
>>> one_dict
{'name': 'spbeen'}

字典赋值并打印出来,一切正常~然后试下同键不同值的赋值

>>> one_dict['name'] = 'bu'
>>> one_dict
{'name': 'bu'}

对相同的键赋不同的值,会覆盖之前的值

字典的同键不同值

一些常用的字典自带函数

函数名 介绍
str(DICT) 以列表形式打印字典【前面截图中显示的字典都是str类型】
len(DICT) 打印字典中的元素个数
type(DICT) 打印字典类型,肯定是返回dict
clear 清空字典的所有元素
get 返回指定键的值,如果值不在字典中返回default值
items 以列表返回可遍历的(键, 值) 元组数组
keys 以列表形式返回字典中的所有键
values 以列表形式返回字典中的所有值

字典的内置函数演示

依旧是用one_dict参数,往里添加两个键值对

>>> one_dict
{'name': 'bu'}
>>> one_dict['one'] = 'one'
>>> one_dict['two'] = 'two'
>>> one_dict
{'name': 'bu', 'one': 'one', 'two': 'two'}

查看字典里面的所有键和值【values函数和keys函数】

>>> one_dict.values()
dict_values(['one', 'two', 'bu'])
>>> one_dict.keys()
dict_keys(['one', 'two', 'name'])

获取字典中的列表形式的所有键值【items函数】

>>> one_dict.items()
dict_items([('one', 'one'), ('two', 'two'), ('name', 'bu')])

获取字典中,指定键的值,存在和不存在两种【get函数】

>>> one_dict.get('name')
'bu'
>>> one_dict.get('three')
这里真的什么都没打印出来

然后清空字典内的所有数据

>>> one_dict
{'name': 'bu', 'one': 'one', 'two': 'two'}
>>> one_dict.clear()
这里也是空的,什么也没有
>>> one_dict
{}

最后贴上截图:

Python字典的内置函数使用示例

字典生成式

列表有列表生成式,字典也就有字典生成式,首先上个示例:

>>> dict_example = { i : i*2 for i in range(1,10) }
{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}

对比列表生成式[ i for i in range(1,10)],只是将中括号换成了大括号,并且字典比列表多一个元素,因为字典每个元素都是键值对,列表每个元素就只是一个元素。

还有一点,键值对在字典中是一个元素,组合是键:值 - 键可以放任何类型,包括整型、字符串、列表和字典,一般是字符串; - 值当然也是什么类型都可以,一般是字符串或是列表

字典还有一个非常好的优点,可以转换json,因为和json的格式非常像【但不能同等】

版权声明:允许转载,转载请注明出处 —— 《Python3教程》: 字典和一些用法

Copyright @2016-2017 | 赣ICP备16003025号