数据类型(三)

继续上次的内容

一.元组

  ①定义:t1=(),t1=tuple()

    参数为可迭代对象(可以被for遍历的对象)

  ②介绍:有序存储,可以放多个数据,不可变类型(内部可以包括可变对象,可变对象依旧可变)。

  ③应用:可以将不允许操作的列表转换成成元组,将允许操作的元组转成列表。

  ④内置函数的使用方法

    1.切片和len

      t1[::1],取所有值,步长为一,和list的使用方法一样,len就是输出该元组的长度

    2.count和index

      t1.count(x)就是输出括号中元素x的数量,t1.index(x,2,5)输入一个元素得到该元素x对应的索引(因为在后面添加了start和end参数,所以这里的搜索范围在(2,5)之间(记得顾头不顾尾)),如果没有找到对应的元素就报错ValueError

二.字典

  ①定义:d1={‘a’:10,‘b’:20}

  ②介绍:无序存储,可以存放多个值,可变类型,因为是内部无序,只能通过key取值。

  ③应用:可以应用在很多场景,比如说名单中,只要输入对应的名字的就可以得到各种其他相关数据。

  ④增加

    1.d1[key]=value,key存在就修改,不存在就是添加。

    2.d1.updata(比如说是一个新字典),如果数据在d1中存在就覆盖,没有就添加。

    3.d1.setdefault(key,default),如果存在key不操作,不存在给key赋予默认值。

  ⑤删除

    1.del d1[key],通用删除

    2.pop(key),根据key删除且返回value值,popitem(),随机删除一对key和value。

  ⑥得到数据

    1.d1[key],直接根据key得到索引值,但是key不存在的时候直接报错。  

    2.d1.get(key,default),存在就返回对应的value值,不存在就返回默认值。

三.集合set

  ①定义:s1=set()

  ②介绍:数据具有唯一性

    1.单列数据集合:str,list,tuple,set    双列:dict

    2.无序存储,无key无index,无法取值

    3.可变数据类型,内部可以存放任意类型数据,但是数据具有唯一性。

  ③应用:可以利用唯一性的特性,删除重复的数据

  ④交集:&

    p_set = {'a', 'b', 'c', 'egon'}

    l_set = {'x', 'y', 'z', 'egon'}

    res = p_set & l_set(等同于res = p_set.intersection(l_set))
    print(res) # {'egon'}

  ⑤ 并集
    res = p_set | l_set(等同于res = p_set.union(l_set))
    print(res) # {'z', 'c', 'y', 'x', 'b', 'a', 'egon'}

  ⑥差集
    res = p_set - l_set
    print(res) # {'a', 'b', 'c'}
    res = l_set.difference(p_set)
    print(res) # {'x', 'z', 'y'}

  ⑦ 对称差集(并集-交集)
    res = p_set ^ l_set(等同于res = p_set.symmetric_difference(l_set))
    print(res)
    print(res) # {'y', 'a', 'b', 'x', 'z', 'c'}

  ⑧父子集

    sup_set = {1, 2, 3, 4, 5}
    sub_set = {1, 2, 3}
    temp_set = {3, 2, 1}
    flag_set = {7, 8, 9}

    print(sup_set > sub_set) # True(等同于print(sub_set.issubset(sup_set))#判断sub_set是不是sup_set的子集
    print(sup_set < sub_set) # False
    print(temp_set == sub_set) # True
    res = flag_set.isdisjoint(temp_set) # True  # 两个set是否没有交集

  

posted @ 2019-03-25 17:24  Mr-Bear  阅读(103)  评论(0编辑  收藏  举报