Python 元组与列表 集合与字典

这次简单整理一下Python中 元组与列表 集合与字典 的相关内容~

序列类型有12个通用的操作符和函数

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


元组:

一旦创建不可被修改,在表达固定数据项、函数多返回值、多变量同步赋值i、循环遍历等情况下十分有用。Python中元组采用逗号和圆括号(可选)来表示。

列表方法

方法说明
list.append(x)将元素x添加至列表尾部
list.extend(L)将列表L中所有元素添加至列表尾部
list.insert(index,x)在列表制定位置index处添加元素x
list.remove(x)在列表中删除首次出现的制定元素
list.pop([index])删除并返回列表对象指定位置的元素
list.clear()删除列表中所有元素,但保留列表对象
list.index(x)返回值为x的首个元素的下标
list.count(x)返回指定元素x在列表中的出现次数
list.reverse()对列表元素进行原地倒序
list.sort()对列表元素进行原地排序(升序、降序)
list.copy()返回列表对象的浅拷贝

注:除list.copy()外,列表方法均不会改变列表的id,也不会新建列表


列表推导式:

新元素表达式 for临时变量 in 可迭代对象 if 条件表达式


集合:

集合数据类型是没有顺序的简单对象的聚集,且集合中元素不重复,元素类型只能是固定数据类型
Python集合数据类型包括可变集合对象(set)和不可变集合对象(frozenset)
集合的定义{x1,[x2,…,xn]}
{}表示空的dict,因为dict也使用花括号定义。空集为set()

集合类型的10个操作符

  • 集合有四种基础运算方法,并,交,差,补

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中的不相同元素

参考文章点击此处


集合类型主要用于三个场景:成员关系测试、元素去重和删除数据项


集合类型有10个操作函数或方法

函数或方法描述
S.add(x)如果数据项x不在集合中,将x增加到s
S.clear()移除S中所有数据项
S.copy()返回集合S的一个拷贝
S.pop()随机返回集合S中的一个元素,如果S为空,产生KeyError异常
S.discard(x)如果x在集合S中,移除该元素;如果x不在,不报错
S.remove(x)如果x在集合S中,移除该元素;不在产生KeyError异常
S.isdisjoint(T)如果集合S与T没有相同元素,返回True
len(S)返回集合S元素个数
x in S如果x是S的元素,返回True,否则返回False
x not in S如果x不是S的元素,返回True,否则返回False

映射类型:是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对(key,value)是一种二元关系。在Python中,映射类型主要以字典(dict)体现


字典类型的基本概念

通过任意键信息查找一组数据中值信息的过程叫映射,Python语言中通过字典实现映射。Python语言中的字典可以通过大括号{}建立
{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>}
其中,键和值通过冒号连接,不同键值对通过逗号隔开

  • 字典:是一组键值对的数据结构。每个键对应于一个值。在字典中,键不能重复。根据键可以查询到值
  • 对象的哈希值
  • 字典的键只能使用不可变的对象,但字典的值可以使用不可变或可变的对象

    字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分

函数和方法描述
< d >.keys()返回所有的键信息
< d >.values()返回所有的值信息
< d >.items()返回所有的键值对
< d >.get(< key >,< default >)键存在则返回相应值,否则返回默认值
< d >.pop(< key >.< default >键存在则返回相应值,同时删除键值对,否则返回默认值
< d >.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回
< d >.clear()删除所有的键值对
del< d >[< key >]删除字典中某一个键值对
< key > in < d>如果键在字典中返回True,否则返回False

Python字典常见操作


字典类型的操作

  • 通过中括号可以增加新的元素
  • 直接使用大括号({})可以创建一个空的字典,并通过中括号([])向其增加元素
函数和方法描述
< d >.keys()返回所有的键信息
< d >.values()返回所有的值信息
< d >.items()返回所有的键值对
< d >.get(< key >,< default >)键存在则返回相应值,否则返回默认值
< d >.pop(< key >,< default >键存在则返回相应值,同时删除键值对,否则返回默认值
< d >.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回
< d >.clear()删除所有的键值对
del < d >[< key >]删除字典中某一个键值对
< key > in < d >如果键在字典中返回True,否则返回False

与其他组合类型一样,字典可以通过for…in语句对其元素进行遍历,基本语法结构如下:
for 变量名 in 字典名
 语句块

字典是实现键值对映射的数据结构

  • 字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息;
  • 字典中元素以键信息为索引访问
  • 字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对

1.字典的访问操作

2.字典的视图对象

d.keys() #返回字典d的键key的列表
d.values() #返回字典d的值value的列表
d.items() #返回字典d的(key,value)对的列表

3.判断字典是否存在

4.字典对象的长度和比较

  • 通过内置函数len(),可以获取字典的长度(元素个数)
  • 字典对象也支持比较运算符(<、<=、==、!=、>=、>),但只有 == 、!= 有意义

5.字典对象的方法

方法说明
d.clear()删除所有元素
d.copy()浅拷贝字典
d.get(k)返回键k对应的值,如果key不存在,返回None
d.get(k,v)返回键k对应的值,如果key不存在,返回v
d.pop(k)如果键k存在,返回其值,并删除该项目;否则导致KeyError
d.pop(k,v)如果键k存在,返回其值,并删除该项目;否则返回v
d.setdefault(k,v)如果键k存在,返回其值;否则添加项目k=v,v默认为None
d.update([other])使用字典或键值对,更新或添加项目到字典d
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值