元组、集合内置方法

元组

      基本形式:小括号括起来的用逗号隔开的任意类型元素
    例:tuple_name = (11, 22, 33, 44, 55)

类型转换:tuple()

 与列表类型基本一致,整型、浮点型以及布尔值不能转换,其余类型都可以。

      print(tuple(23))  # 报错
      print(tuple(23.23))  # 报错
      print(tuple('oliver'))
      print(tuple([11, 22, 33, 44, 55]))
      print(tuple({'name': 'oliver', 'add':'shanghai'}))
      print(tuple({11, 22, 33, 44, 55}))
      print(tuple(True))  # 报错

注:不过在这里需要注意,元组只有一个元素时,要在元素后面加个逗号,不然数据类型会改变。

索引取值:与列表的索引取值类似(顾头不顾尾)

      tuple_name = (11, 22, 33, 44, 55,)
      print(tuple_name[0])  # 正方向索引取值,从左向右,以0为始
      print(tuple_name[-1])  # 反方向索引取值,从右至左,以-1为始

切片:与列表的索引取值类似(顾头不顾尾)

      tuple_name = (11, 22, 33, 44, 55,)
      print(tuple_name[1:3])  # 参数决定切片的始末位置
      print(tuple_name[-3:-1])
      print(tuple_name[-1:-3:-1])  # 第三个参数决定方向

步长

      tuple_name = (11, 22, 33, 44, 55,)
      print(tuple_name[1:4:1])  # 前两个参数是起始位置,第三个参数是步长,每一个取一个,也就是每个都取
      print(tuple_name[1:4:2])  # 每两个取一个,也就是间隔一个取一个

统计元组内元素的个数:len()

      tuple_name = (11, 22, 33, 44, 55,)
      print(len(tuple_name))  # 统计元组内元素的个数

成员运算

      tuple_name = (11, 22, 33, 44, 55, 22, 22)
      print(22 in tuple_name)  # 判断该数据是否在元组内 True
      print(66 in tuple_name)  # 返回值为布尔值 False

统计元素出现的次数:count()

      tuple_name = (11, 22, 33, 44, 55, 22, 22)
      print(tuple_name.count(22))  # 统计元组内22出现的次数

注:元组内的元素不能更改,不过对于是可变类型的元素,该元素内部数据修改的话不改变元组

如图,在元素为列表的情况下,因为列表是可变类型,所以修改列表内部的值,列表并没改变,也就是索引5的指向不会发生改变,进而元组元素没发生变化,所以变量名指向是不变的。不过由于元组是不可变类型,所以索引1、2、3、4所指向的值都不能改。如果改变的话,对应索引就会断开,产生新指向,所以元组就发生了改变

集合:主要用于去重和关系运算

      基本形式:花括号括起来的用逗号隔开的任意类型元素
    例:set_name = {11, 22, 33, 44, 55}

类型转换

      # print(set(11))  # 报错
      # print(set(11.11))  # 报错
      print(set('oliver'))
      print(set([11, 22, 33, 44, 55]))
      print(set({'name': 'oliver'}))
      print(set((11, 22, 33, 44, 55)))
      # print(set(True))  # 报错

关系运算:交集并集等

      l1 = {1, 1, 1, 1, 1, 7, 2, 2, 2, 5, 2, 1, 5, 4, 2, 3, 2, 2, 1, 2, 3, 2, 8, 3, 2, 3}
      l2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 2, 3}
      print(l1 & l2)  # 交集
      print(l2 - l1)  # l2自己单独有的
      print(l1 | l2)  # 并集
      print(l1 ^ l2)  # 自己有但对方没有的
      print(l1)
      s1 = set(l1)
      print(s1)

结束

posted @ 2022-03-10 20:10  Oliver-Chance  阅读(68)  评论(0)    收藏  举报