组合数据类型

mooc 总结 地址

set,list,tupple,dict

集合 set

A = set()  # 空集合
运算符
A & B,A|B,A&B,A^B,A-B # 运算
A &= B,A |= B,A &= B,A ^= B,A -= B
A <= B,A < B   判断A是否是B的子集
A >= B,A > B  

A.add(x) 			#添加新元素
A.discard(x)		#丢弃x元素
A.remove(x)       # 丢弃x元素,如果不存在报错
A.clear() 			 # 清空
A.pop()  			# 随机返回S的一个元素,更新S,若S为空产生KeyError
S.copy() 返回集合S的一个副本
len(S) 返回集合S的元素个数
x in S 判断S中元素x,x在集合S中,返回True,否则返回Falsex 
not in S 判断S中元素x,x不在集合S中,返回True,否则返回False
set(x) 将其他类型变量x转变为集合

序列类型

#操作符
x in s
x not in s
s + t	# 连接两个序列 s,t
s*n,n*s # 序列复制n次
s[i] 	# 下标访问
s[i:j],s[i:j:k] # 支持切片访问
# 通用函数及操作方法
len(s)
min(s)
max(s)
s.index(x) # 返回第一次出现x元素的位置
s.index(i,j,x) # 返回在[i,j) 第一次出现x的位置 不存在抛出异常
s.count(x)	# 返回x出现的次数

元组类型

  • 元组是一种序列类型,一旦创建就不能被修改
  • 使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔
  • 可以使用或不使用小括号
#创建
A = 1,2
A = (1,)
A = (1,2)
A = "a","b"
A = tuple()
A = tuple(x) # x 可以是其他可迭代的组合数据类型

列表类型

  • 列表是一种序列类型,创建后可以随意被修改
  • 使用方括号 [] 或list() 创建,元素间用逗号 , 分隔
  • 列表中各元素类型可以不同,无长度限制
# 独有操作
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中的元素反转

字典类型

  • 键值对:键是数据索引的扩展
  • 字典是键值对的集合,键值对之间无序
  • 采用大括号{}和dict()创建,键值对用冒号: 表示
# 创建 
A = dict()
A = {1"one",2:"two"}
# 操作
A[key] = value
# 操作
del d[k] 删除字典d中键k对应的数据值
k in d 判断键k是否在字典d中,如果在返回True,否则False
d.keys() 返回字典d中所有的键信息
d.values() 返回字典d中所有的值信息
d.items() 返回字典d中所有的键值对信息


d.get(k, <default>) 键k存在,则返回相应值,不在则返回<default>值
d.pop(k, <default>) 键k存在,则取出相应值,不在则返回<default>值
d.popitem() 随机从字典d中取出一个键值对,以元组形式返回
d.clear() 删除所有的键值对
len(d) 返回字典d中元素的个数