美文网首页
Python组合数据类型序列、集合、映射

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

作者: HIICIO | 来源:发表于2019-08-13 14:30 被阅读0次

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

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

    /序列类型:列表(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组合数据类型序列、集合、映射

          本文链接:https://www.haomeiwen.com/subject/bsavjctx.html