这次简单整理一下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,返回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语言中的字典可以通过大括号{}建立
{:,:,…,:}
其中,键和值通过冒号连接,不同键值对通过逗号隔开
字典:是一组键值对的数据结构。每个键对应于一个值。在字典中,键不能重复。根据键可以查询到值
对象的哈希值
字典的键只能使用不可变的对象,但字典的值可以使用不可变或可变的对象
字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分
函数和方法
描述
< 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