字典遍历和集合的基本使用 | 手把手教你入门Python之三十七

简介: 本节重点介绍字典遍历,set的使⽤

上一篇:元组的基本使用和字典的增删改查 | 手把手教你入门Python之三十六
下一篇:执⾏字符串 和算数运算符的使用 | 手把手教你入门Python之三十八

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

字典遍历

image.png
image.png
image.png

<1> 遍历字典的key(键)

image.png

<2> 遍历字典的value(值)

image.png

<3> 遍历字典的项(元素)

image.png

<4> 遍历字典的key-value(键值对)

image.png

练习1

有⼀个列表persons,保存的数据都是字典

persons = [{'name': 'zhangsan', 'age': 18}, {'name': 'lisi', 'age': 20}, {'name':
'wangwu', 'age': 19},{'name': 'jerry', 'age': 21}]

要求让⽤户输⼊⼀个姓名,如果这个姓名在列表⾥存在,就提示⽤户名称已存在,添加失败;如果这个姓名
在列表⾥不存在,提示让⽤户输⼊年龄,并将⽤户输⼊的姓名和年龄添加到这个列表⾥。

字典的练习1参考

image.png
image.png

练习2

有⼀个字典dict1 = {"a":100,"b":200,"c":300},使⽤代码,将字典的key和value互换,变成
{100:"a",200:"b",300:"c"}.
参考答案:(使⽤字典推导式)

字典的练习2参考

dict1 = {"a": 100, "b": 200, "c": 300}
dict2 = {v: k for k, v in dict1.items()}
print(dict2)

image.png

set的使⽤

集合(set)是⼀个⽆序的不重复元素序列,可以使⽤⼤括号 { } 或者 set() 函数创建集合。

注意:创建⼀个空集合必须⽤ set() ⽽不是 { },因为 { } 是⽤来创建⼀个空字典。
创建格式:

parame = {value01,value02,...}
或者
set(value)

image.png

添加元素

语法格式如下:

s.add(x)

将元素 x 添加到集合 s 中,如果元素已存在,则不进⾏任何操作。

>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Runoob'}

还有⼀个⽅法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

s.update( x )

x 可以有多个,⽤逗号分开。

>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.update({1,3})
>>> print(thisset)
{1, 3, 'Google', 'Taobao', 'Runoob'}
>>> thisset.update([1,4],[5,6])
>>> print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}

移除元素

语法格式如下:

s.remove( x )

将元素 x 从集合 s 中移除,如果元素不存在,则会发⽣错误。

>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Runoob'}
>>> thisset.remove("Facebook") # 不存在会发⽣错误
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>

此外还有⼀个⽅法也是移除集合中的元素,且如果元素不存在,不会发⽣错误。格式如下所示:

s.discard( x )
>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.discard("Facebook") # 不存在不会发⽣错误
>>> print(thisset)
{'Taobao', 'Google', 'Runoob'}

我们也可以设置随机删除集合中的⼀个元素,语法格式如下:

s.pop()
thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop()
print(x)
print(thisset)

image.png
image.png

set常⻅⽅法列表

image.png

练习

有⼀个⽆序且元素数据重复的列表nums, nums=[5,8,7,6,4,1,3,5,1,8,4] ,要求对这个列表⾥的元素
去重,并进⾏降序排序。

# ⽅法⼀:调⽤列表的sort⽅法
nums2 = list(set(nums))
nums2.sort(reverse=True)
print(nums2)
# ⽅法⼆:使⽤sorted内置函数
print(sorted(list(set(nums)),reverse=True))

练习

image.png

image.png

相关文章
|
26天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
27天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
26天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
38 7
|
28天前
|
开发者 Python
Python中的装饰器:从入门到实践
本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
42 5
|
27天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
69 3
|
1月前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
7月前
|
移动开发 Unix Linux
Python 遍历文件每一行判断是否只有一个换行符详解
**Python 检查文件每行换行符:** 文章探讨了在Python中验证文件每行是否仅含一个换行符的需求。通过提供代码示例,展示了如何打开文件,遍历行,判断行尾的换行情况。基础实现检查`\n`,扩展版考虑了`\r\n`,并可选地将结果保存至新文件。这些功能有助于确保数据格式规范。
|
4月前
|
数据处理 Python
python遍历文件夹所有文件按什么排序
python遍历文件夹所有文件按什么排序
30 0
|
4月前
|
数据处理 Python
Python遍历文件夹所有文件并按指定排序
Python遍历文件夹所有文件并按指定排序
94 0