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 |