分类: 集合 序列 字典
类型1——集合
集合是一个无序不重复元素的序列。因为集合中不存在重复元素,所以集合中的元素是不可更改的,不能用可变的数据类型作为其中元素。如果元素可以更改,则可能在集合中出现重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,元素间用逗号隔开。注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
使用set()创建集合 : A=set("python")
使用{}创建集合: A={"python", 123, ("python", 123)}
集合操作符
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中的非相同元素
集合处理方法
S.add (x) 如果 x不在集合 S中,将 x增加到 S
S.discard 移除 S中元素 x,如果 x不在集合 S中,不报错
S.remove(x) 移除 S中元素 x,如果 x不在集合 S中,产生 KeyError异常
S.clear () 移除 S中所有元素
S.pop () 随机返回 S的一个元素,更新 S,若 S为空产生 KeyError 异常
S.copy () 返回集合 S的一个副本
len (S) 返回集合 S的元素个数
x in S 判断 S中元素 x,x在集合 S中,返回True ,否则返回 False
x not in S 判断 S中元素 x,x不在集合 S中,返回 False ,否则返回 True
set(x) 将其他类型变量 x转变为集合变量
例:
try : #将集合中的元素输出
while True :
print(A.pop (), end= "" )
except:
pass
用途:数据去重
A= ['a', 'a', 1, 2, 1]
B= set(A)
C= list(B)
print (C)
类型2——序列
序列是具有先后关系的一组元素,类似数组,可以通过序号操作序列内的元素。
序列是Python中最基本的数据结构,主要类型有字符串类型,列表类型,元组类型。
序列的序号正向由0开始递增,反向由-1开始递减。列表和元组中以元素为操作对象,字符串中以每个字符为操作对象。
通用操作符
x in s 如果 x是序列 s的元素,返回True ,否则返回 False
x not in s 如果 x是序列 s的元素,返回 False ,否则返回 True
s+ t 连接两个序列 s和t
s*n 或 n*s 将序列 s复制 n次
s[ i] 索引,返回 s中的第 i个元素, i是序列的号
s[ i: j] 或 s[ i: j: k] 切片,返回序列 s中第 i到j以k为步长的元素子序列
通用函数和方法
len (s) 返回序列 s的长度
min(s) 返回序列 s的最小元素, s中元素需要可比较
max(s) 返回序列 s的最大元素, s中元素需要可比较
s.index (x) 或s.index (x, i,j) 返回序列 s从i开始到 j位置中第一次出现元素 x的位置
s.count (x) 返回序列 s中出现 x的总次数
元组类型
元组的元素不可变,元组使用()或tuple()创建,元素间以逗号隔开,元组中只包含一个元素时,需要在元素后面添加逗号,如tup1=(50,),否则括号会被当作运算符使用。元组的元素不可操作,但是可以将两个元组用加号实现连接操作
创建空元组: tup1= ()
元组元素无法删除,但是可以通过 del tup1 来删除整个元组
列表类型
列表类型使用[]或者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 中的元素反转
类型3——字典
字典是键值对的集合,每个元素都是一个键值对。默认大括号{}用来创建空字典而不能创建空集合,字典也可用dict()来创建。键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
用d[key]的方式索引或添加字典里的元素
操作函数及方法
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中元素的个数