当前位置: 首页 > news >正文

PYthon组合数据类型的简单使用

Python的数据类型有两种,基本数据类型和组合数据类型,组合数据类型在Python的使用中特别重要。

1.组合数据类型的分类:

在这里插入图片描述

2.序列类型

序列类型中元素存在顺序关系,可以存在数值相同但位置不同的元素。序列类型支持成员关系操作符(in)、长度计算函数(len())、分片([]),元素本身也可以是序列类型。
python中的序列类型有str(字符串)、tuple(元组)和list(列表)。

2.1.序列类型的通用操作符和函数

(1). x in s 如果x是s 的元素,返回True,否则返回False
(2). x not in s 如果x不是s 的元素,返回True,否则返回False
(3). s+t 连接s 和t
(4). s*n或n*s 将序列s 复制n次
(5). s[i] 索引,返回序列第i个元素
(6). s[i:j] 分片,返回包含序列s第i到j个元素的子序列(不包含第j个元素)
(7). s[i:j:k] 步骤分片,返回包含序列s第i到j个元素以k为步数的子序列的子序列
(8). len(s) 序列s的元素个数(长度)
(9). min(s) 序列s的最小元素
(10). max(s) 序列s中的最大元素
(11). s.index(x[,i[,j]]) 序列s从i开始到j位置中第一次出现元素x的位置
(12). s.count(x) 序列s中出现x的总次数

2.2.元组

元组一旦创建就不能被修改,一般用于表达固定数据项、函数多返回值,多变量同步赋值、循环遍历等。
(1) 元组的创建
元组采用逗号分隔或圆括号来表示。
在这里插入图片描述
(2) 操作符示范
在这里插入图片描述

2.3.列表类型

列表(list)是包含0个或多个对象引用的有序序列。
列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同。

(1) 列表的定义
列表用中括号([])表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。
在这里插入图片描述
(2). 列表类型的特有函数
列表类型是序列类型,所以,序列类型的操作符和函数都可应用于列表类型。由于列表是可变的,所以它有额外的常用函数或方法。
(2.1) ls[i]=x 替换列表ls第i数据项为x
(2.2) ls[i:j]=lt 用列表lt替换列表ls中第i到第j项数据(不含第j项,下同)
(2.3) ls[i:j:k]=li 用列表lt替换列表ls中第i到第j项数据以k为步数的数据
(2.4) del ls[i:j] 删除列表ls第i到第j项数据,等价于ls[i:j]=[]
(2.5) del ls[i:j:k] 删除列表ls第i到第j项以k为步数的数据
(2.6) ls+=lt或ls.extend(lt) 将列表lt元素增加到列表ls中
(2.7) ls*n 更新列表ls,其元素重复n次
(2.8) ls.append(x) 在列表ls最后增加一个元素x
(2.9) ls.clear() 删除ls中的所有元素
(2.10) ls.copy() 生成一个新列表,复制ls中的所有元素
(2.11) ls.insert(i,x) 在列表ls的第i位置增加元素x
(2.12) ls.pop(i) 将列表中第i项元素取出并删除该元素
(2.13) ls.remove(x) 将列表中出现的第一个元素x删除
(2.14) ls.reverse(x) 列表中的元素反转
(3.) 函数示范!
在这里插入图片描述
在这里插入图片描述
(4.) 注意
(4.1.) 列表要处理一组数据,因此,列表必须通过显示的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象,而是对这个列表的引用。
在这里插入图片描述
(4.2.) 当列表改变另一个列表值时,Python不要求两个列表长度一样,但遵循“多增少减”的原则
在这里插入图片描述
(4.3) 列表的遍历
列表通过for in 语句对元素遍历
for <任意变量名> in <列表名>:
<语句块>
在这里插入图片描述

3.集合类型

集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中的元素不可重复,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型。
(1). 集合的使用
由于集合是无序组合,所以集合没有索引和位置的概念,不能分片,集合中元素可以动态增减,集合用大括号({})表示,可以用赋值语句生成一个集合。
在这里插入图片描述
由于集合元素是无序的,集合的打印效果与定义顺序可以不一致,由于集合元素独一无二,使用集合类型能够过滤掉重复元素。
在这里插入图片描述
set(x)函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且排序任意的集合。
在这里插入图片描述
集合类型的特点是它不包含重复元素,因此常用于对以为数据进行去重。
(2.) 集合的操作符
(2.1.) S-T或S difference(T) 返回一个新集合,包括在集合S中但不在集合T中的元素
(2.2.) S-T或S.difference_update(T) 更新集合S,包括在集合S中但不在集合T中的元素
(2.3.) S&T或S.intersection(T) 返回一个新集合,包括同时在集合S和T中的元素
(2.4.) S&=T或S.intersection_update(T) 更新集合S,包括同时在集合S和T中的元素
(2.5.) S^T或,S.symmetric_difference(T) 返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素
(2.6.) S=^T或,S.symmetric_difference_update(T) 更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素
(2.7.) S|T或S.union(T) 返回一个新集合,包括集合S和T中的所有元素
(2.8.) S=|T或S.update(T) 更新集合S,包括集合S和T中的所有元素
(2.9.) S<=T或S.issubset(T) 如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集
(2.10.) S>T或S.issuperset(T) 如果S与T相同或S是T的超集,返回True,否则返回False,可以用S>T判断S是否是T的真超集

http://www.lryc.cn/news/26648.html

相关文章:

  • 【Java】P2 基础语法与运算符
  • 【并发基础】Java中线程的创建和运行以及相关源码分析
  • Spark Shuffle
  • Linux/MacOS 生成双击可执行文件
  • Ubuntu三种拨号方法
  • Vue-router的引入和安装
  • 无线WiFi安全渗透与攻防(四)之kismet的使用
  • 2023新版PMP考试有哪些变化?
  • P8074 [COCI2009-2010#7] SVEMIR 最小生成树
  • 10种常见网站安全攻击手段及防御方法
  • 为什么我选择收费的AdsPower指纹浏览器?
  • Java输入输出和数组
  • 这些免费API帮你快速开发,工作效率杠杠滴
  • 干货|最全PCB布线教程总结,14条PCB布线原则技巧,保姆级搞定PCB布线
  • 编程快捷键和markdown语法小计
  • 内网vCenter部署教程二,最全的了!
  • 2023-3-2 刷题情况
  • Docker SYS_ADMIN 权限容器逃逸
  • 【Kotlin】 yyyy-MM-dd HH:mm:ss 时间格式 时间戳 全面解读超详细
  • git repack多包使用及相关性能测试
  • QT获取dll库文件详细信息
  • 常见的电脑运行卡顿原因及解决方法
  • 案例08-让软件的使用者成为软件的设计者
  • QinQ与Vlan Mapping讲解
  • golang 获取token方法
  • 【数据库专题】数据库Mongodb之深入认知云计算三种服务方式、mongodb特点、mongodb重要进程 mongod、mongo、其他进程区别
  • ccc-pytorch-小实验合集(4)
  • webrtc音频系列——4、RTP与RTCP协议
  • C++枚举解读(enum)
  • OSCP-课外5(Web图片泄露服务信息、日志中毒)