3-序列类型-元组tuple-序列操作

声明元组

data1 = ("bytes", "字节", "kb", "mb", "gb", "tb", "pb")
print(data1, type(data1))    # ('bytes', '字节', 'kb', 'mb', 'gb', 'tb', 'pb') <class 'tuple'>

# 声明元组的时候,也可以忽略小括号
data2 = "比特", "字节",
print(data2, type(data2))    # ('比特', '字节') <class 'tuple'>

# 当如果元组只有一个成员时,需要注意末尾必须跟着一个逗号,否则不是元组
data3 = (300,)
print(data3, type(data3))    # (300,) <class 'tuple'>

# 这是一个成员的元组的简写方式
data4 = 400,
print(data4, type(data4))    # (400,) <class 'tuple'>

# 常见错误:
data3 = (300)
print(data3, type(data3))    # 300 <class 'int'>

# 元组也是一种序列类型,所以也具有正数和负数下标,还支持切片操作
data1 = ("bytes", "字节", "kb", "mb", "gb", "tb", "pb")
print( data1[0] )            # bytes
print( data1[-1] )           # pb 帕

元组 切片操作,左闭右开原则

t = (1, 2, 3, 4, 5)
print( t[1:3] )        # (2, 3)
print( t[2:] )         # (3, 4, 5)
print( t[::2] )        # (1, 3, 5)
print(( t[1::2]) )     # (2, 4)
print( t[::-1] )       # (5, 4, 3, 2, 1)

in 判断成员是否存在

l = (1, 2, 3, 4, 5)
print(2 in l )          # True
print(13 in l)          # False

元组 解包

data = (10, 20)
x, y = data
print(x)        # 10
print(y)        # 20

元组与其他序列类型相比,不仅有解包(unpack)还可以组包(pack)

x = 100
y = 200
c = 300
data = x, y, c
print(data, type(data))    # (100, 200, 300) <class 'tuple'>
"""
面试题
"""
x = 20
y = 10
# 希望能交换2个变量的值,让y的值变成20,x的值变成10
# y, x = (x, y)
y, x = x, y
print(x, y)         # 10 20

posted on 2022-03-18 14:13  likeyog  阅读(32)  评论(0)    收藏  举报

导航