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 条评论
登录 后参与评论

相关文章

来自专栏互联网技术栈

设计模式- 合成/组合原则

上面的问题都来源于对方法的改写动作。如果你在扩展一个类的时候,仅仅是增加新的方法,而不改写已有的方法,你可能会认为这样做是安全的,但是也并不是完全没有风险。

944
来自专栏小樱的经验随笔

【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

一、定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不...

3245
来自专栏编程

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

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

2148
来自专栏WeaponZhi

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

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

3406
来自专栏程序员的SOD蜜

“法天象而应四时”--茶话软件开发之“抽象”

抽象不仅仅是软件领域,在有灵性的生物中都有抽象; 抽象不仅仅是OO的,非OO语言也有抽象; 抽象的级别: 类级别的抽象--类、抽象类、接口; 方法、函数级别的抽...

2348
来自专栏灯塔大数据

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

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

1121
来自专栏landv

c语言-猜数字游戏

2274
来自专栏Java架构沉思录

聊聊设计模式之工厂方法模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。

1033
来自专栏企鹅号快讯

PHP弱类型在CTF中的应用

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

6425
来自专栏程序人生

谈谈面向对象编程

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

42011

扫码关注云+社区