外婆都能学会的Python教程(十五):Python集合类型(二)
off999 2024-10-22 13:40 71 浏览 0 评论
前言
Python是一个非常容易上手的编程语言,它的语法简单,而且功能强大,非常适合初学者学习,它的语法规则非常简单,只要按照规则写出代码,Python解释器就可以执行。
下面是Python的入门教程集合类型第二篇文章,太简单了,外婆看完都学会了,你也来看看吧!
元组类型
- 元组是一种不可变的序列,一旦创建就不能修改,元组中的元素可以是不同的数据类型,元组中的元素用逗号隔开,也可以用小括号括起来。
- 元组的创建有如下方式
t = 1, 2, 3
t = (1, 2, 3)
t = tuple([1, 2, 3])
t = tuple("abc")
元组类型操作
- 元组的操作和列表基本一致,只是不能修改元组中的元素
- 例子
t = (1, 2, 3)
print(t[0]) # 1, 元组中的元素可以通过索引访问
print(t[0:2]) # (1, 2), 元组中的元素可以通过切片访问
print(t + (4, 5)) # (1, 2, 3, 4, 5), 连接元组
print(t * 2) # (1, 2, 3, 1, 2, 3), 元组重复2次
print(1 in t) # True, 判断1是否在元组中
print(1 not in t) # False, 判断1是否不在元组中
列表类型
- 列表是一种可变的序列,列表中的元素可以是不同的数据类型,列表中的元素用逗号隔开,也可以用中括号括起来。
- 列表的创建有如下方式
ls = [1, 2, 3]
ls = list((1, 2, 3))
ls = list("abc")
列表类型操作
- 列表的操作和元组基本一致,只是可以修改列表中的元素
- 例子
ls = [1, 2, 3]
print(ls[0]) # 1, 列表中的元素可以通过索引访问
print(ls[0:2]) # [1, 2], 列表中的元素可以通过切片访问
print(ls + [4, 5]) # [1, 2, 3, 4, 5], 连接列表
print(ls * 2) # [1, 2, 3, 1, 2, 3], 列表重复2次
print(1 in ls) # True, 判断1是否在列表中
print(1 not in ls) # False, 判断1是否不在列表中 ls[0] = 4 # 修改列表中的元素
print(ls) # [4, 2, 3]
del ls[0] # 删除列表中的元素
print(ls) # [2, 3]
列表常用函数
列表函数主要用于对列表进行操作,常用的函数如下:
ls = [1, 2, 3]
print(len(ls)) # 3, 列表长度
print(max(ls)) # 3, 列表中最大的元素
print(min(ls)) # 1, 列表中最小的元素
ls.append(4) # 在列表末尾添加新的元素, 相当于ls[len(ls):] = [4]
print(ls) # [1, 2, 3, 4]
ls.clear() # 清空列表, 相当于del ls[:]
print(ls) # []
ls = [1, 2, 3]
print(ls.copy()) # [1, 2, 3], 复制列表
print(ls.count(1)) # 1, 统计某个元素在列表中出现的次数
ls.extend([4, 5]) # 在列表末尾一次性追加另一个序列中的多个值, 相当于ls[len(ls):] = [4, 5]
print(ls) # [1, 2, 3, 4, 5]
ls.insert(0, 0) # 将对象插入列表, 相当于ls[0:0] = [0]
print(ls) # [0, 1, 2, 3, 4, 5]
ls.pop() # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(ls) # [0, 1, 2, 3, 4]
ls.remove(0) # 移除列表中某个值的第一个匹配项, 相当于del ls[ls.index(0)]
print(ls) # [1, 2, 3, 4]
ls.reverse() # 反向列表中元素
print(ls) # [4, 3, 2, 1]
ls.sort() # 对原列表进行排序
print(ls) # [1, 2, 3, 4]
序列类型应用场景
- 序列类型的应用场景主要是用于存储一组有序的数据,比如:存储学生的成绩,存储学生的信息等。
- 元组类是不可变类型,一旦创建就不能修改,所以元组类型适合存储一些不需要修改的数据。
- 例子
- # 存储学生的成绩
scores = [90, 80, 70, 60, 50] # 存储学生的信息
students = [("张三", 18, "男"), ("李四", 19, "女"), ("王五", 20, "男")]
实例
用python编码求平均值、方差和中位数。
#接收用户输入的数据,直到用户输入空为止
def getNum():
nums = []
iNumStr = input("请输入数字(回车退出):")
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input("请输入数字(回车退出):")
return nums
#求平均值
def mean(numbers):
s = 0.0
for num in numbers:
s = s + num
return s / len(numbers)
#求方差
def dev(numbers,mean):
sdev=0.0
for num in numbers:
sdev=sdev+(num-mean)**2
return pow(sdev/(len(numbers)-1),0.5)
#求中位数,如果是偶数个数,则返回中间两个数的平均值,否则返回中间数
def median(numbers):
sorted(numbers)
size = len(numbers)
if size % 2 == 0:
med = (numbers[size // 2 - 1] + numbers[size // 2]) / 2
else:
med = numbers[size // 2]
return med
n = getNum()
m = mean(n)
print("平均值:{},方差:{:.2},中位数:{}.".format(m,dev(n,m),median(n)))
这个例子中用到了以下几个知识点:
- 操作符
- //运算符,用来计算整数除法
- /运算符,用来计算浮点数除法
- %运算符,用来计算取余
- **运算符,用来计算幂
- python内置函数调用
- eval()函数,用来将字符串转换成数字
- pow()函数,用来计算方差
- format()函数,用来格式化输出
- sorted()函数,用来对列表进行排序
- len()函数,用来计算列表的长度
- append()函数,用来在列表末尾添加元素
- 循环和分支语句
- while语句,用来循环执行一段代码
- if语句,用来判断条件是否成立
- for语句,用来遍历列表中的元素
- 数组的使用
- 接收用户输入的数据,放到数组中
- 自定义函数:getNum()、mean()、dev()、median()
- 模块化设计方法,通过自定义的函数将程序分成几个模块,每个模块完成一个特定的功能,这样可以提高代码的复用率,也便于维护。
字典类型
- 字典类型是python中唯一的映射类型,字典类型的元素是键值对,字典类型的元素是无序的,字典类型的键是唯一的,字典类型的键必须是不可变类型,字典类型的值可以是任意类型。
- 采用大括号{}和dict()函数创建字典类型,字典类型的键和值之间用冒号:分隔,键值对之间用逗号,分隔。
- 如果生成空的字典类型,可以使用{}或者dict()函数。这里和集合区分,集合使用set()函数。
- 例子# 创建字典类型
student = {"name":"zhagnsan","age":"20"}
student = dict(name="zhagnsan",age="20")
print(student) # {'name': 'zhagnsan', 'age': '20'}
print(student["name"]) # zhagnsan
字典类型操作函数
- del d[k] 删除字典d中键k对应的数据值
- k in d 判断键k是否在字典d中,如果在返回True,否则返回False
- d.keys() 返回字典d中所有的键信息
- d.values() 返回字典d中所有的值信息
- d.items() 返回字典d中所有的键值对信息
- d.get(k,default) 返回字典d中键k对应的数据值,如果键k不存在,则返回default
- d.pop(k,default) 删除字典d中键k对应的数据值,并返回该数据值,如果键k不存在,则返回default
- d.popitem() 删除字典d中最后一个键值对,并返回该键值对
- d.clear() 删除字典d中所有的键值对
- d.copy() 浅拷贝字典d,返回一个具有相同键值对的新字典
- d.update(d2) 将字典d2中的键值对更新到字典d中
- 例子
- student = {"name": "zhagnsan", "age": "20"}
- del student["name"]
- print(student) # {'age': '20'}
- print("name" in student) # False
- print(student.keys()) # dict_keys(['age'])
- print(student.values()) # dict_values(['20'])
- print(student.items()) # dict_items([('age', '20')])
- print(student.get("name", "lisi")) # lisi
- print(student.pop("age", "lisi")) # 20
- print(student) # {}
- student.update({"name": "zhangsan"}) # {'name': 'zhangsan'}
字典类型几种遍历方法
student = {"name": "zhagnsan", "age": "20"}
for key in student.keys():
print(key, student[key])
for value in student.values():
print(value)
for item in student.items():
print(item)
for key, value in student.items():
print(key, value)
结束寄语
Python中的集合类型在日常开发中使用非常频繁,掌握集合的使用在编程中会让你事半功倍。
恭喜你看完这篇Python教程,你已经超过99%的人了,关注我带你快速入门Python,提高工作效率!
码字不易[汗],喜欢就关注我给我点个赞吧,精彩内容会第一时间推送给你[心][谢谢]。
有问题可以回复或私信我,看到我会给你耐心解答[给力]!
相关推荐
- 大文件传不动?WinRAR/7-Zip 入门到高手,这 5 个技巧让你效率翻倍
-
“这200张照片怎么传给女儿?微信发不了,邮箱附件又超限……”62岁的张阿姨对着电脑犯愁时,儿子只用了3分钟就把照片压缩成一个文件,还教她:“以后用压缩软件,比打包行李还方便!”职场人更懂这...
- 电脑解压缩软件推荐——7-Zip:免费、高效、简洁的文件管理神器
-
在日常工作中,我们经常需要处理压缩文件。无论是下载软件包、接收文件,还是存储大量数据,压缩和解压缩文件都成为了我们日常操作的一部分。而说到压缩解压软件,7-Zip绝对是一个不可忽视的名字。今天,我就来...
- 设置了加密密码zip文件要如何打开?这几个方法可以试试~
-
Zip是一种常见的压缩格式文件,文件还可以设置密码保护。那设置了密码的Zip文件要如何打开呢?不清楚的小伙伴一起来看看吧。当我们知道密码想要打开带密码的Zip文件,我们需要用到适用于Zip格式的解压缩...
- 大文件想要传输成功,怎么把ZIP文件分卷压缩
-
不知道各位小伙伴有没有这样的烦恼,发送很大很大的压缩包会受到限制,为此,想要在压缩过程中将文件拆分为几个压缩包并且同时为所有压缩包设置加密应该如何设置?方法一:使用7-Zip免费且强大的文件管理工具7...
- 高效处理 RAR 分卷压缩包:合并解压操作全攻略
-
在文件传输和存储过程中,当遇到大文件时,我们常常会使用分卷压缩的方式将其拆分成多个较小的压缩包,方便存储和传输。RAR作为一种常见的压缩格式,分卷压缩包的使用频率也很高。但很多人在拿到RAR分卷...
- 2个方法教你如何删除ZIP压缩包密码
-
zip压缩包设置了加密密码,每次解压文件都需要输入密码才能够顺利解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或是忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利...
- 速转!漏洞预警丨压缩软件Winrar目录穿越漏洞
-
WinRAR是一款功能强大的压缩包管理器,它是档案工具RAR在Windows环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从Internet上下载的RAR、ZIP及其它类...
- 文件解压方法和工具分享_文件解压工具下载
-
压缩文件减少文件大小,降低文件失效的概率,总得来说好处很多。所以很多文件我们下载下来都是压缩软件,很多小伙伴不知道怎么解压,或者不知道什么工具更好,所以今天做了文件解压方法和工具的分享给大家。一、解压...
- [python]《Python编程快速上手:让繁琐工作自动化》学习笔记3
-
1.组织文件笔记(第9章)(代码下载)1.1文件与文件路径通过importshutil调用shutil模块操作目录,shutil模块能够在Python程序中实现文件复制、移动、改名和删除;同时...
- Python内置tarfile模块:读写 tar 归档文件详解
-
一、学习目标1.1学习目标掌握Python内置模块tarfile的核心功能,包括:理解tar归档文件的原理与常见压缩格式(gzip/bz2/lzma)掌握tar文件的读写操作(创建、解压、查看、过滤...
- 使用python展开tar包_python拓展
-
类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不...
- 银狐钓鱼再升级:白文件脚本化实现GO语言后门持久驻留
-
近期,火绒威胁情报中心监测到一批相对更为活跃的“银狐”系列变种木马。火绒安全工程师第一时间获取样本并进行分析。分析发现,该样本通过阿里云存储桶下发恶意文件,采用AppDomainManager进行白利...
- ZIP文件怎么打开?2个简单方法教你轻松搞定!
-
在日常工作和生活中,我们经常会遇到各种压缩文件,其中最常见的格式之一就是ZIP。ZIP文件通过压缩数据来减少文件大小,方便我们进行存储和传输。然而,对于初学者来说,如何打开ZIP文件可能会成为一个小小...
- Ubuntu—解压多个zip压缩文件.zip .z01 .z02
-
方法将所有zip文件放在同一目录中:zip_file.z01,zip_file.z02,zip_file.z03,...,zip_file.zip。在Zip3.0版本及以上,使用下列命令:将所有zi...
- 如何使用7-Zip对文件进行加密压缩
-
7-Zip是一款开源的文件归档工具,支持多种压缩格式,并提供了对压缩文件进行加密的功能。使用7-Zip可以轻松创建和解压.7z、.zip等格式的压缩文件,并且可以通过设置密码来保护压缩包中的...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)