Python 集合及列表

目录

一、集合类型及操作

1.集合类型定义

2.集合操作符

3.集合处理方法

4.集合类型应用场景

二、序列类型及操作

1.序列类型定义  序列是具有先后关系的一组元素

2.序列处理函数及方法

三、元组类型及操作

四、列表类型及操作

五、应用场景


一、集合类型及操作

1.集合类型定义

集合是多个元素的无序组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型

集合用大括号{}表示,元素间用逗号分隔

建立集合类型用{}或set{}

建立空集合类型,必须使用set{}

例如

A = {"python",123,("python",123)}  #使用{}建立集合
{123,'python',('python',123)}

B = set("pypy123")  #使用set()建立集合
{'1','p','2','3','y'}

2.集合操作符

操作符及应用                                                描述
S | T

并,返回一个新集合,包括在集合S和T中的所有元素

S - T差,返回一个新集合,包括在集合S但不在T中的元素
S & T交,返回一个新集合,包括同时在集合S和T中的元素
S ^ T补,返回一个新集合,包括集合S和T中的非相同元素
S <= T或S <T返回True/False, 判断S和T的子集关系
S >= T或S >T返回True/False, 判断S和T的包含关系
操作符及应用                                               描述
S |= T并,更新集合S,包括在集合S和T中的所有元素
S -= T差,更新集合S,包括在集合S但不在T中的元素
S &= T交,更新集合S,包括同时在集合S和T中的元素
S ^= T补,更新集合S,包括集合S和T中的非相同元素

3.集合处理方法

操作函数或方法                                        描述
S.add(x)

如果x不在集合S中,将x增加到S

S.discard(x)移除S中元素x,如果x不在集合S中,不报错
S.remove(x)移除S中元素x,如果x不在集合S中,产生KeyError异常
S.clear()移除S中所有元素
S.pop()随机返回S中的一个元素,更新S,若S为空产生KeyError异常
S.copy()返回集合S的一个副本
len(S)返回集合S的元素个数
x in S判断S中元素x,x在集合S中,返回True,否则返回False
x not in S判断S中元素x,x不在集合S中,返回True,否则返回False
set(x)将其他类型变量x转变为集合类型

4.集合类型应用场景

包含关系比较

"p" in {"p","y",123}
输出 True

{"p","y"} >= {"p","y",123}
输出 False

数据去重:集合类型所有元素无重复

Is = ["p","p","y","y",123]
s = set(Is)  # 利用了集合无重复元素的特点

输出{'p','y',123}


It = list(s)  #还可以将集合转换为列表
['p','y',123]

二、序列类型及操作

1.序列类型定义  序列是具有先后关系的一组元素

序列是一维元素向量,元素类型可以不同

元素间由序号引导,通过下标访问序列的特定元素

序列是一个基类类型分为三种:字符串类型,元组类型,列表类型

2.序列处理函数及方法

操作符及应用                                        描述
x in s如果x是序列s的元素,返回True,否则返回False
x not in s如果x是序列s的元素,返回False,否则返回True
s + t连接两个序列s和t
s*n 或 n*s将序列s复制n次
s[i]索引,返回s中的第i个元素,i是序列的序号
s[i: j] 或 s[i: j: k]切片,返回序列s中第i到j以k为步长的元素子序列

Is = ["python",123,".io"]
Is[::-1]
输出 ['.io',123,'python']

s = "python123.io"
s[::-1]
输出 'oi.321nohtyp'
函数和方法                                        描述
len(s)返回序列s的长度,即元素个数
min(s)返回序列s的最小元素,s中元素需要可比较
max(s)返回序列s的最大元素,s中元素需要可比较
s.index(x) 或 s.index(x, i, j)返回序列s从i开始到j位置中第一次出现元素x的位置
s.count(x)返回序列s中出现x的总次数

实例:

Is = ["python",123,".io"]
len(Is)
输出:3


s = "python123.io"
max(s)
输出:'y'

三、元组类型及操作

元组是序列类型的一种扩展

元组是一种序列类型,一旦创建就不能被修改

使用小括号()或tuple()创建,元素间用逗号分隔

可以使用或不使用小括号

creature = "cat", "dog", "tiger", "human"

creature
('cat', 'dog', 'tiger', 'human')

元组继承了序列类型的全部通用操作

元组因为创建后不能被修改,因此没有特殊操作

四、列表类型及操作

列表是序列类型的一种扩展,十分常用

列表是一种序列类型,创建后可以随意被修改

使用方括号[]或list()创建,元素间用逗号分隔

列表中各元素类型可以不同,无长度限制

Is = ["cat", "dog", "tight", 1024]

It = Is 
#方括号[]真正创建一个列表,赋值仅仅传递引用

函数和方法

函数或方法                                                描述
ls[i] = x替换列表ls第i元素为x
ls[i: j: k] = lt用列表lt替换ls切片后所对应元素子列表
del ls[i]删除列表ls中第i元素
del ls[i: j: k]删除列表ls中第i到第j以k为步长的元素
ls += lt更新列表ls,将列表lt元素增加到列表ls中
ls *= n更新列表ls,其元素重复n次
ls.append(x)在列表ls最后增加一个元素x
ls.clear()删除列表ls中所有元素
ls.copy()生成一个新列表,赋值ls中所有元素
ls.insert(i,x)在列表ls的第i位置增加元素x
ls.pop(i)将列表ls中第i位置元素取出并删除该元素
ls.remove(x)将列表ls中出现的第一个元素x删除
ls.reverse()将列表ls中的元素反转
Is = ["cat", "dog", "tight", 1024]
Is[1:2] = [1,2,3,4]
结果:['cat',1,2,3,4,'tight',1024]

五、应用场景

数据表示:元组 和 列表

元组用于元素不改变的应用场景,更多用于固定搭配场景

列表更加灵活,它是最常用的序列类型

最主要作用:表示一组有序数据,进而操作它们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值