Python组合数据类型序列、集合、映射

/表示单一数据的类型称为基本数据类型。

/能够表示多个数据的类型,称为组合数据类型。

/序列类型:列表(list),字符串(str),元组(tuple)

/集合类型:集合(set)

/映射类型:字典(map)

/序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。

/集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一。

/映射类型是"键"-"值"数据项的组合,每个元素都是一个键值对,表示为(key,value)。

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

1. x in s :如果x是s的元素,返回True,否则返回False。

2. x not in s :如果x不是s的元素,返回True,否则返回False。

3. s + t :连接s和t。

4. s*n或n*s:将序列s重复n遍。

5. s[i] :索引,返回s中第i个元素。

6. s[i:j] :分片。返回列表s中第i到j个元素的子序列。(不包含第j个元素)

7. s[i:j:k] :步骤分片。返回包含序列s中第i到第j个元素,以k为步长的子序列。

8. len(s) :序列s的元素个数。(长度)

9. min(s) :序列s中的最小值。

10. max(s) :序列s中的最大值。

11. s.index(x[,i[,j]]) :序列s中从i开始到j位置中,出现元素x的位置。

12. s.count(x) :序列s中出现x的总个数。

/元组(tuple)是序列类型中比较特殊的类型,一经创建就不能被修改。元组类型采用逗号和圆括号(可选)来表示。

/一个元组可以作为另一个元组的元素,可以采用多级索引获取信息。tuple[x][y]即表示索引元组tuple中第x元素(该元素应为元组类型)中的序号为y的元素。

/元组多用于:函数多返回值、多变量同步赋值、循环遍历

/def func(x): #函数多返回值

  return x,x**3

/a,b = 'dog' , 'tiger' #多变量同步赋值

a,b = (b,a)

/import math

for x,y in ((1,0),(2,5),(3,8)):

  print(math.hypot(x,y)) #求多个坐标值到原点的距离

/集合元素是无序组合,不可索引,不可分片,不可变,不可修改,不可重复。

/由于集合是不可重复的,所以可用于元素去重。

/集合类型的操作符

1. S-T或S.difference(T) :返回一个新集合,包含集合S中的元素,但不包含集合T中的元素。

2. s-=或S.difference_update(T) :更新集合S,包含在集合S中的元素,但不要集合T中的元素。

3. S&T或S.intersection(T) :返回一个新集合,包含同时在集合S和集合T中的元素。

4. S&=T或S.intersection_update(T) :更新集合S,包含同时在集合S和集合T中的元素。

5. S^T或S.symmetric_difference(T) :返回一个新集合,包含集合S和集合T中的元素,但不包含同时在集合S和集合T中的元素。

6. S^=T或S.symmetric_difference_update(T) :更新集合S,包含集合S和集合T中的元素,但不包含同时在集合S和集合T中的元素。

7.S|T或S.union(T) :返回一个新集合包含集合S和集合T中所有元素。

8.S|=T或S.update(T) :更新集合S,包括集合S和集合T中所有元素。

9.S<=T或S.issubset : 判断集合S与集合T相同,或集合S是集合T的子集,返回True,否则返回False。可以用S

10.S>=T或S.issuperset :判断集合S与集合T相同,或集合S是集合T的超集,返回True,否则返回False。可以用S>T判断是否S是T的真超集。

/上述中表达了集合类型的4种基本操作:交集(&)、并集(|)、差集(-)、补集(^)。

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

1. S.add(x) :如果数据项x不在集合S中,将x增加到集合S。

2. S.clear() :移除集合S中所有数据项。

3. S.copy() :返回一个集合S的副本。

4. S.pop() :随机返回集合S中的一个元素,如果S为空,产生KeyError异常。

5. S.discard(x) :如果元素x在集合S中,将x移除,如果x不在集合S中,不报错。

6. S.remove(x) :如果元素在集合S中,将第一个x移除,如果x不在集合S中,产生KeyError异常。

7. S.isdisjoint(T) :如果集合S与集合T没有相同元素,返回True。

8. len(S) :返回集合S的元素个数。

9. x in S :如果x在集合S中,返回True,如果不在,返回False。

10. x not in S :如果x不是集合S中的元素,返回True,否则返回False。

/集合类型主要用于3个场景:成员关系测试、元素去重和删除数据项。例如:

"BIT" in {"pyrhon","BIT","123","good"} #成员关系测试

True

tup = ("python","BIT","123","GOOD","123") #元素去重

set(tup)

{"python","BIT","123","GOOD"}

newtup = tuple(set(tup) - {"python"}) #删除数据项

{"BIT","123","GOOD"}

/映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键key表示一个属性,也可以理解为一个类别或项目,值(value)是属性的内容,键值对刻画了一个属性和它的值。

/序列是数值与位置的关系;集合是不重复数值的无序组合;映射是数值与名称的关系。




你可能感兴趣的:(Python组合数据类型序列、集合、映射)