Python零基础入门教程06 字典和集合以及推导式

前言

学无止境,无止境学。大家好,我是张大鹏,之前在抖音有5万多粉丝,不过现在不拍视频,专心写公众号了。笔者目前是高级Python工程师,之前是全栈工程师,主要擅长Golang和Python开发,对于JavaVue,React也有一些研究。工作之余,喜欢学习和分享,希望能够通过此公众号”张大鹏520″,将自己学到的东西分享给大家,和大家一起交流,一起成长,一起进步。

今天要给大家分享的是《Python零基础入门教程06 字典和集合以及推导式》,这是一个系列的教程,从零基础到项目实战。在本教程中,我会给大家介绍Python中的字典和集合以及推导式。到目前为止,咱们学了字符串、列表、元组,加上今天学的字典、集合,将会学到Python中最常用最基础的数据结构。还会配套相关的练习,大家学完以后可以自行通过练习题巩固和加深对知识点的理解。

如果大家需要本教程的PDF电子书或者完整的源码,可以在文末找到获取方式哈。

01 字典

创建字典

字典是一种键值对结构,也是一种序列类型。字典经常用来存储存在映射关系的数据。创建字典的常用方法有:

  • 创建空字典:a = {}
  • 创建带数据的字典:a = {"a": 111, "b": 222}

示例代码:

# 创建空字典:`a = {}`
d = {}
print(d, type(d))

# 创建带数据的字典:`a = {"a": 111, "b": 222}`
d = {"a"111"b"222}
print(d, type(d))

字典的增删改查

字典的常用增删改查方法如下:

  • 增加:d[key] = value
  • 删除:del d[key]
  • 修改:d[key] = new_value
  • 查询:value = d.get(key)

示例代码:

d = {}

# 增加:`d[key] = value`
d["name"] = "张大鹏"
d["age"] = 33
print(d)

# 删除:`del d[key]`
del d["age"]
print(d)

# 修改:`d[key] = new_value`
d["name"] = "李思思"
print(d)

# 查询:`value = d.get(key)`
print(d.get("name"))

字典的遍历

字典的常用遍历方法如下:

  • 遍历key:for k in d.keys()
  • 遍历value:for v in d.values()
  • 遍历键值对:for k,v in d.items()

示例代码:

d = {"a"11"b"22"c"33}

# 遍历key:`for k in d.keys()`
for k in d.keys():
    print(k, d.get(k), end="t")
print()

# 遍历value:`for v in d.values()`
for v in d.values():
    print(v, end="t")
print()

# 遍历键值对:`for k,v in d.items()`
for k, v in d.items():
    print(k, v, end="t")
print()

02 集合

集合的定义

集合也是一种序列类型,不过集合是无序且不重复的。所以,集合通常用于作为数据去重或者存储确定不可重复的数据。常见的定义集合的方法如下:

  • 定义空集合:s = set()
  • 定义带数据的集合:s = {1, 2, 3}

示例代码:

# 定义空集合:`s = set()`
s = set()
print(s, type(s))

# 定义带数据的集合:`s = {1, 2, 3}`
s = {123}
print(s, type(s))

集合的增删改查

集合也可以做增删改查操作,常见的方法如下:

  • add:添加数据到集合
  • update:添加一个序列中的所有元素到集合
  • remove:删除集合中的元素
  • in和not in:判断元素是否在集合中

示例代码:

s = set()
# add:添加数据到集合
s.add(1)
print(s)

# update:添加一个序列中的所有元素到集合
s.update([11223344])
print(s)

# remove:删除集合中的元素
s.remove(33)
print(s)

# in和not in:判断元素是否在集合中
print(33 in s)
print(33 not in s)

03 推导式

列表推导式

列表推导式用于快速生成列表,常见的列表推导式格式如下:

  • 简单列表推导式:[i for i in 迭代对象]
  • 带判断的列表推导式:[i**2 for i in 迭代对象 if i%2==0]
  • 多个循环的列表推导式:[i*j for i in 迭代对象1 for j in 迭代对象2]

示例代码:

# 简单列表推导式:`[i for i in 迭代对象]`
arr = [i for i in range(10)]
print(arr)

# 带判断的列表推导式:`[i**2 for i in 迭代对象 if i%2==0 else 0]`
arr = [i ** 2 for i in range(10if i % 2 == 0]
print(arr)

# 多个循环的列表推导式:`[i*j for i in 迭代对象1 for j in 迭代对象2]`
arr = [i * j for i in range(3for j in range(36)]
print(arr)

字典推导式

字典推导式和列表推导式类似,常见的字典推导式如下:

  • 简单字典推导式:{i:i**2 for i in 迭代对象}
  • 带判断的字典推导式:{i:i**3 for i in 迭代对象 if i%3==0}
  • 多个循环的字典推导式:{i:j**3 for i in 迭代对象1 for j in 迭代对象2}

示例代码:

# 简单字典推导式:`{i:i**2 for i in 迭代对象}`
d = {i: i ** 2 for i in range(3)}
print(d)

# 带判断的字典推导式:`{i:i**3 for i in 迭代对象 if i%3==0}`
d = {i: i ** 3 for i in range(3102if i % 3 == 0}
print(d)

# 多个循环的字典推导式:`{i:j**3 for i in 迭代对象1 for j in 迭代对象2}`
d = {i: j ** 3 for i in range(3for j in range(47)}
print(d)

集合推导式

集合推导式和其他两种推导式类似,常见的集合推导式如下:

  • 简单的集合推导式:{i for i in 迭代对象}
  • 带判断的集合推导式:{i for i in 迭代对象 if i%2==0}
  • 多个循环的集合推导式:{i*j for i in 迭代对象1 for j in 迭代对象2}

示例代码:

# 简单的集合推导式:`{i for i in 迭代对象}`
s = {i for i in range(3)}
print(s)

# 带判断的集合推导式:`{i for i in 迭代对象 if i%2==0}`
s = {i for i in range(310if i % 2 == 0}
print(s)

# 多个循环的集合推导式:`{i*j for i in 迭代对象1 for j in 迭代对象2}`
s = {i * j for i in range(10for j in range(3)}
print(s)

结语

关注我不迷路,欢迎关注我的微信公众号”张大鹏520″,如果您对此文章感兴趣,欢迎点赞收藏,留言评论。

文中所有代码,只需要打赏20元,然后留言评论“已打赏”,即可获取哦。

本文的PDF电子书版,只需要打赏3元,然后留言评论“已打赏”,即可获取哦。

写文章不容易,不喜勿喷哈,如果有想要学编程,学项目,或者在工作中有项目难以单独完成需要提供帮助的同学,欢迎私信我哈。生活不易,想要利用学到的编程知识,业余赚点零花钱。

接项目:网站开发,APP开发,各种管理系统开发。

带徒弟:Python编程教学,Golang编程教学,前端编程教学。

谢谢您!!!


原文始发于微信公众号(张大鹏520):Python零基础入门教程06 字典和集合以及推导式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48523.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!