Python字典的介绍

阅读文本大概需要 3.6 分钟

写在前面

昨天在分享文章的时候结交了好多志同道合的兄弟,他们也都在为自己的梦想努力地奋斗着。如果当初不曾迈出这一步,也许我不会看到这些,也许我还是一个月前那个碌碌无为、每天无所事事的浪荡青年,以现在的认知看当初的自己,总结一下为单纯、可笑、懒惰、任性。

其实以前就听过,「越努力,越幸运!」,但不知为何,现在懂了。因为你的努力会使你变得更加优秀,同时你所结识的圈子也会不一样,当机会来临时你才能更好的把握住。这就是大佬为什么越来越优秀,这本质上是一个良性循环的过程。

现在觉得,「当你让上帝为你关掉一扇门的时候,上帝顺便也为你关掉了窗,而当你请求上帝为你打开一扇门的时候,上帝也会顺便为你打开了窗。」其中奥秘,望大家揣摩一下。

其实刚开始的时候也有想过,如果有一天自己坚持不下去了怎么办?不过现在不会了,因为我不是一个人在战斗,我的前面有大佬开路,为我传道解惑;身后有一群兄弟在相互鼓励加油。现在,我也可以拍拍我的肩膀告诉自己:「加油,年轻人,未来是你的!

Python编程

接下来开始今天的学习,昨天分享了关于Python列表与元组的知识,今天我们来学习字典的使用。同时,希望大家在学完每一天的知识后都能勤加练习,这是一种很好的学习方法,学以致用,才能学有所成,切勿眼高手低。在这里也欢迎大家积极地留言打卡,练习有问题的可以私发我,同时想一起督促学习的,可以加我微信,日后一起交流指正,共同提升。

01

代码块与笔记

字典 Dictionary

1

字典简介

  • 字典是 Python 语言中唯一的映射类型,是无序的,具有极快的查找速度,元素以键值对形式存在
  • 字典对象是可变的,它是一个容器类型,能存储任意个数的 Python 对象,其中也包括其他容器类型(列表、元组)
  • 格式:字典中的每个键值对(key=>value)用冒号 :分割,每个键值对之间用逗号 ,分割,整个字典包括在花括号 {}之 中

2

常用操作

  • 创建字典、增删改查、长度、遍历字典等

创建字典1

# 键的特性:唯一 不可变对象

# 数字、字符串、元组等可以为键,列表不可以

# 重复时,后一个键值对会覆盖前面的

# 值可以取任意数据类型

dict1 = {1: 1, 2: '2', 2: True}

print(dict1[2])  # True

2访问,明白两种方式的区别

# 字典元素的访问

dict1 = {"Iu": 99, "Mark": 100}

print(dict1["Iu"]) 

# 没有会报错

print(dict1["AzMark"])

# 没有返回 None

print(dict1.get("AzMark"))  

查询成绩3

# 查询成绩的小练习

dict1 = {"Iu": 99, "Mark": 100}


name = input("请输入您的姓名:")

score = dict1.get(name)

if score is None:

    print("不好意思,您输入的姓名不存在!")

else:

    print(name, "您好,您的成绩为:", score)

4添加、修改

dict1 = {"Iu": 99, "Mark": 100}

# 添加元素

dict1["Tom"] = 100

# 修改元素

dict1["Iu"] = 98            

print(dict1)

5删除元素

# 删除元素

dict1 = {1: 1, 2: '2', 3: True}

# 删除对应元素

del dict1[1]

# 弹出对应元素

dict1.pop(2)

# 清空字典元素

dict1.clear()

# 删除字典

del dict1

6常用方法

# 检查key是否在字典中

dict1 = {1: 1, 2: '2'}

print(1 in dict1)

# 计算字典元素个数,即键的总数

print(len(dict1))

# 以列表返回字典中的所有键

print(dict1.keys())

# 以列表返回字典中的所有值

print(dict1.values())

# 以列表返回可遍历的(键, 值) 元组数组

print(dict1.items())

# 返回一个字典的浅复制

print(dict1.copy())

遍历字典7

dict1 = {"Iu": 99, "Mark": 100}

# 返回 键,值 
for key in dict1:           
    print(key, dict1[key])

# 值
for value in dict1.values():            
    print(value)

# 键,值
for k, v in dict1.items():              
    print(k, v)

# 索引与值 枚举(后面说)
for i, v2 in enumerate(dict1):          
    print(i, v2)

02

练习题

今天的练习主要是要求大家把字典方法熟练掌握,然后对照着昨天的列表、元组,分析一下三者两两之间的相同与不同之处。明天我们开始函数的学习,大家一起加油!

好了,今天的分享就到这了,觉得有借鉴意义的,点赞转发支持下。点赞转发、留言鼓励是对于原创作者最大的鼓励,您的一次点赞、留言也许在您看来没有什么,可是在Mark看来那是大家对自己的肯定与鼓励。好了有点矫情了,先到这了,我去哭一会。

原创不易,感谢分享

原文发布于微信公众号 - Python梦工厂(AzMark950831)

原文发表时间:2018-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeaponZhi

AI 学习之路——轻松初探 Python 篇(三)

这是「AI 学习之路」的第 3 篇,「Python 学习」的第 2 篇 Python 字符串使用和 C 语言比较类似,但还有一些我们值得注意的地方需要关注,用这...

3326
来自专栏吴小龙同學

关于Android命名规范

第一家公司是如此的重要,如果开发流程规范,对你之后的影响不是一般的大!而我经历的公司大都不成体系,我的习惯就是我的规范!哈哈! 很多的技术人员,恐怕都认为...

3208
来自专栏编程

C语言最难啃的三块硬骨头,你越过去了吗?

提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接...

1948
来自专栏程序员互动联盟

C语言最难啃的三块硬骨头

提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接...

3495
来自专栏程序人生

谈谈面向对象编程

最近写了些和函数式编程的文章,有读者和我讨论函数式编程和面向对象编程的优劣。二者都是很好的编程思想,都在着力解决代码重用的问题,也彼此吸收对方的优点,所以大可不...

41711
来自专栏程序员互动联盟

10个实用的但偏执的Java编程技术

在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常。因为,你知道的……任何事情有可能出错,没错,的确如此。 这...

34213
来自专栏灯塔大数据

干货 | 国外大神总结的10个Java编程技巧!

“任何可能出错的事情,最后都会出错。”这就是人们为什么喜欢进行“防错性程序设计”的原因。

1031
来自专栏landv

c语言-猜数字游戏

1824
来自专栏程序人生

来来来,咱们元编程入个门

前一篇文章竟然被很多人批「干货太少」 —— 一看你们就没有看过 Rich 他老人家的 Hammock Driven Development(我很久前推荐过滴),...

32610
来自专栏企鹅号快讯

PHP弱类型在CTF中的应用

PHP作为世界上最好的语言(然而人生苦短,我用python),在CTF web题中大放异彩,深受出题人的喜爱。P神在对web题出题套路总结的第三条指出,出题人喜...

5245

扫码关注云+社区