《每天五分钟冲击python基础之字典》(十)

前言

昨天学习的 《每天五分钟冲击python基础之元组》(九) 后,很多同学问我,我的元组怎么修改里面的元素呢?其实问这个问题的同学们都没有明白元组的特性,建议同学们再重新细心地查看上节课喔!那么如果非要修改的话,我可以给你们提供思路,就是先把元组用 “list()函数“ 强制变成列表,就可以修改了。好的,那么我们就开始今节课的内容吧!

什么是字典

字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据。(ps:如果学过其他编程语言的同学都会觉得字典其实跟 json数据 很像喔)

是不是觉得不太理解上面那句话什么意思呢?不理解就对了,下面我就给你们举例说明一下什么是字典

比如有成绩表数据----- 语文:80,数学:60,英语:100,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联联系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。

为了保存具有映射关系的数据,python就为此提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为key;另一组数据可通过key来访问,被称为value。形象地看,字典中key和value的关系如下:
在这里插入图片描述
需要特别注意的,由于字典中的key是非常关键的数据,而且程序需要通过key来访问value,因此字典中的key不允许重复

创建字典

使用 花括号{} 创建字典,花括号中应包含多个key-value对,key与value之间用英文冒号隔开;多个key-value对之间用英文逗号隔开
例:

scores = {'语文': 89, '数学': 60, '英语':100}
print(scores)

输出结果:
{'语文': 89, '数学': 60, '英语': 100}

使用 dict()函数 也是可以创建字典的,例:

scores = [('语文', 89), ('数学', 60), ('英语',100)]
scores_dict = dict(scores)
print(scores_dict)

输出结果:
{'语文': 89, '数学': 60, '英语': 100}

或者这样也是可以的(注意:使用这种方式是不能加引号的,不然会报错的)

scores = dict(语文=80, 数学=50, 英语=100)
print(scores)

输出结果:
{'语文': 80, '数学': 50, '英语': 100}

访问字典

例:

scores = dict(语文=80, 数学=50, 英语=100)
print(scores['语文'])

输出结果:
80

修改字典

例:

scores = dict(语文=80, 数学=50, 英语=100)
scores['语文'] = 100
print(scores)

输出结果:
{'语文': 100, '数学': 50, '英语': 100}

修改一个不存在的key的值,相当于添加一个新的元素,例:

scores = dict(语文=80, 数学=50, 英语=100)
scores['物理'] = 100
print(scores)

输出结果:
{'语文': 80, '数学': 50, '英语': 100, '物理': 100}

删除字典(del)

例:

scores = dict(语文=80, 数学=50, 英语=100)
scores['物理'] = 100
del scores['英语']
print(scores)

输出结果:
{'语文': 80, '数学': 50, '物理': 100}

判断字典里是否存在某个元素(in/not in)

例:

scores = dict(语文=80, 数学=50, 英语=100)
scores['物理'] = 100
print('英语' in scores)

输出结果:
True
scores = dict(语文=80, 数学=50, 英语=100)
scores['物理'] = 100
print('化学' not in scores)

输出结果:
True

字典常用方法

get():根据key来获取value
例:

scores = dict(语文=80, 数学=50, 英语=100)
print(scores.get('英语'))

输出结果:
100

update():可使用一个字典所包含的key-value对来更新已有的字段
例:

scores = dict(语文=80, 数学=50, 英语=100)
scores.update({'语文':90,'英语':80})
print(scores)

输出结果:
{'语文': 90, '数学': 50, '英语': 80}

items():获取字典中的所有key-value对
例:

scores ={'语文': 80, '数学':50, '英语':100}
ims = scores.items()
print(list(ims)[1])

输出结果:
('数学', 50)

keys():获取字典中所有的key
例:

scores ={'语文': 80, '数学':50, '英语':100}
ims = scores.keys()
print(ims)

输出结果:
dict_keys(['语文', '数学', '英语'])

values():获取字典中所有value
例:

scores ={'语文': 80, '数学':50, '英语':100}
ims = scores.values()
print(ims)

输出结果:
dict_values([80, 50, 100])

pop():用于获取指定key对应的value,并删除这个key-value对
例:

scores ={'语文': 80, '数学':50, '英语':100}
scores.pop('语文')
print(scores)

输出结果:
{'数学': 50, '英语': 100}

fromkeys():使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。该方法一般不会使用字典对象调用(没什么意义),通常会使用dict类直接调用。
例:

a_dict = dict.fromkeys(['a', 'b'])
print(a_dict)

输出结果:
{'a': None, 'b': None}
a_dict = dict.fromkeys((13,17),'good')
print(a_dict)

输出结果:
{13: 'good', 17: 'good'}

使用字典格式化字符串

在字符串模板中按key指定变量,然后通过字典为字符串模板中的key设置值
例:

temp = '书名是:%(name)s, 价格是:%(price)010.2f, 出版社是:%(publish)s'
book = {'name':'疯狂python','price':88.9,'publish':'电子社'}
print(temp % book)

输出结果:
书名是:疯狂python, 价格是:0000088.90, 出版社是:电子社

课外监督

最近一部分同学在后台私聊我说,自己每天都准备要学习了,但是一去到电脑桌上就是提不起劲来,怎么办呢?针对这种情况的同学,我决定每天花一点时间对你们学习进行监督和辅导,如有需要的同学,扫描下面的图片,点击 “联系作者” 进行报名。

结语

课程的内容只有那么多了,希望每个同学都能认真地去学习好每一节课,记住学习编程的道路真的有点苦,但是每天都能坚持下来了,就肯定会有很大的收获,下节课讲变量的数值类型以及运算符的运用,敬请期待。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值