Python组合数据类型

Python组合数据类型

Python组合数据类型

Python组合数据类型

元组

元组的元素是固定的,一旦创建就不能修改,(用圆括号表示,tuple()函数创建);表达固定数据项,函数多返回值,多变量同步赋值,循环遍历等情况下十分有用,由于Python的实现,元组比列表的效率更高。

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

操作符 描述
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中的最大元素
sum(s) 序列s中的所有元素之和
s.index(x, i, j) 序列s中从i到j位置中第一次出现元素x的位置
s.count(x) 序列s中出现x的总次数
<,>,=,!=,<=,>= 比较两个序列

集合

集合的元素不可重复,且不按任何特定顺序放置,所以不能使用下标访问集合中的元素,同时元素类型只能是固定数据类型,(用大括号表示,set()函数创建);例如整数、浮点数、字符串、元组等,列表、字典和集合类型是可变数据类型,不能作为集合的元素出现。

集合类型的操作符

操作符 描述
S - T 或 S.difference(T) 返回一个新集合,包括在集合S中但不在集合T中的元素
S-=T 或 S.difference_update(T) 更新集合S,包括在集合S中但不在集合T中的元素
S & T 或 S.intersection(T) 返回一个新集合,包括同时在集合S和T中的元素
S&=T 或S.intersecion_update(T) 更新集合S,包括同时在集合S和T中的元素
S ^ T 或 s.symmetric_difference(T) 返回一个新集合,包括集合S和T中的元素,但不包括同时在集合S和T中的元素
S=^T或s.symmetric _difference_update(T) 更新集合S,包括集合S和T中的元素,但不包括同时在集合S和T中的元素
S 或 T 或 S.union(T) 返回一个新集合,包括集合S和T中的所有元素
S =或 T 或 S.updateT) 更新集合S,包括集合S和T中的所有元素
S<=T 或 S.issubset(T) 如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否为T真子集
S>=T 或 S.issuperset(T) 如果S与T相同或S是T的超集,返回True,否则返回False,可以用S>T判断S是否为T真超集

集合类型的操作函数或方法

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

列表

列表的长度和内容都是可变的,可*对列表的数据项进行增加、删除或替换,(用中括号表示,list()函数创建);列表没有长度限制,元素类型可以不同,使用非常的灵活。

列表类型特有的函数或方法

函数或方法 描述
ls[i] = x 替换列表ls第i数据项为x
ls[i: j] = lt 用列表lt替换列表ls中第i到第j项数据(不含第j项)
ls[i: j: k] = lt 用列表lt替换列表ls中第i到第j项以k为步长的数据
del ls[i: j] 删除列表ls第i到第j项数据,等价于ls[i: j]=[]
del ls[i: j: k] 删除列表ls第i到第j项以k为步数的数据
ls+=lt 或 ls.extend(lt) 将列表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) 将列表中出现的第一个元素x删除
ls.reverse(x) 将列表ls中的元素反转
ls.sort() 以升序对列表中的元素排序

字典

字典是存储键值对集合的容器对象,在字典中关键字必须是可哈希对象,并且关键字不能重复,字典中的元素也是无序的,直接使用大括号创建一个空字典。

字典类型的函数和方法

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