6.组合数据类型

集合set

集合是多个元素的无序组合.

  • 集合用大括号{}表示,元素间利用逗号分隔
  • 建立集合类型用{}或set()
  • 建立空集合类型,必须使用set()

集合操作符

操作符及应用 描述
S|T 返回一个新集合,包括st中的所有元素
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.add 向集合中添加元素
S.discard 移除集合中的一个元素(如果元素不存在,不报错)
S.remove 移除集合中的一个元素(如果元素不存在,会引发 KeyError)
S.clear 移除集合中所有元素
S.pop 随机返回集合S的一个元素,更新S(如果集合为空,会引发 KeyError)
S.copy 返回集合S的一个副本
len(S) 返回集合S的元素个数
x in S 判断集合S中是否有元素x,是返回True否则返回False
x not in S 判断集合S中是否有元素x,是返回False否则返回True
set(x) 将其他类型变量x转变为集合类型

数据去重,典型用法,利用数组内元素不可重复.

序列sequence

  • 序列可以包含一个或多个元素,也可以没有任何元素.
  • 我们之前所说的基本数据类型,都可以作为序列的元素.。
  • 序列有两种:tuple(元组) 和 list (表)

序列操作符

操作符及应用 描述
x in S 如果x是序列S的元素,返回True否则返回False
x not in S 如果x是序列S的元素,返回False否则返回True
s + t 连接两个序列s和t
SN或NS 讲序列s复制n次
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) 返回序列中x出现的总次数

元组是序列类型的一种扩展.
使用小括号()或tuple()创建,元素间用逗号分隔.
可以使用或不使用小括号.
tuple元素不可变,list元素可变.
字符串是一种tuple.
数据保护将数据转换为元组类型.

字符串是一种特殊的元组,因此可以执行元组的相关操作。

str = 'abcdef'
print(str[2:4])
  • 列表是一种序列类型,被创建后可以随意修改
  • 使用方括号[]或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) 在列表最后添加元素x
ls.clear() 移除列表中所有元素
ls.copy() 生成一个新列表,赋值ls中所有元素
is.insert(i,x) 在列表ls第i位增加元素x
ls.pop(i) 将列表ls中第i位置元素取出并删除
ls.remove(x) 将列表ls中出现的第一个x元素删除
ls.reverse() 将列表ls中元素反转

字典

映射映射是一种键(索引)和值(数据)的对应.

  • 字典类型是映射的体现.
  • 键值对:键是数据索引的扩展.
  • 字典是键值对的集合,键值对之间无序.
  • 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用(,)分割,整个字典包括在花括号{}中.
    <字典变量> = {<键1>:<值1>,<键2>:<值2>...<键n>:<值n>}
    键必须是唯一的,但值不必.
>>>d = {"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>>d
{'中国':'北京','美国':'华盛顿','法国':'巴黎'}
>>>d["中国"]
'北京'
>>>de = {} ; type(de)

函数或方法 描述
del d[k] 删除字典d中键k对应的数据值
k in d 判断键k是否在字典d中,如果在返回True,否则False
d.keys() 返回字典中所有的键信息
d.values() 返回字典中所有的值信息
d.items() 返回字典中所有的键值对信息

列表类型操作函数和方法

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

对于List:

classmates = ['Michael', 'Bob', 'Tracy']
classmates.append('Adam')    //添加在末尾,没有add()方法
classmates.insert(1, 'Jack') //在指定位置添加
classmates.pop(1)            //在知道位置删除,参数是索引
del classmate[1]             //删除第二个元素
classmates.remove('Bob')     //参数是元素,删除第一个与Bob值匹配的元素,之后又相同元素不会删除

对于dict:

d = {'a': 'A', 'b': 'B'}
del d['a']
d.pop('a')    //参数是key,没有remove()方法
d['c']='C';   //插入直接赋值即可

对于set:

s={1,2,3}       //set对象的创建也可以是s=set(iterable)
s.add(8)        //添加8到末尾   没有append()方法
s.remove(8)     //参数是元素,不是索引    删除8   
s.pop()         //删除最后一个元素

对于tuple:
由于tuple一旦初始化就不能修改,所以不能插入和删除.

你可能感兴趣的:(6.组合数据类型)