元组、集合内置方法
元组
基本形式:小括号括起来的用逗号隔开的任意类型元素
例: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)
结束

浙公网安备 33010602011771号