Python课程第六天_下午_课程笔记(元组Tuple)

Day_06_PM_Tuple

# 元组: tuple (不能修改)
#   就是一个不可以更改的列表

# 1.创建元组
t = ()  # 空元组
# t = (1)  # 不加逗号变int =>  1 <class 'type'>
t = (1,)  # 包含一个元素的元组
t = (1, 2, 3, "hello", True)
print(t, type(t))

# 2.下标
t = (11, 22, 33, 44)
print(t[0], t[1], t[2], t[3])  # 元组和列表都是中括号取下标不是圆括号
print(t[-1])  # 最后一个元素

# 3.合并
print((1, 2) + (3, 4))  # 得到了一个新的元组 (1, 2, 3, 4)

# 4.重复
print((1, 2, 3) * 3)  # (1, 2, 3, 1, 2, 3, 1, 2, 3)

# 5.长度
print(len(t))  # 4

# 6.成员
print(33 in t)  # True

# 7.切片
t = (1, 2, 3, 4, 5, 6)
print(t[2:5])  # (3, 4, 5)
print(t[::-1])  # (6, 5, 4, 3, 2, 1)

# 8.遍历
t = (11, 22, 33)
for n in t:
    print(n)  # n是元素
for i in range(len(t)):
    print(i)  # 下标

for i, n in enumerate(t):
    print(i, n)  # 下标和元素


# 其他功能
# 增删改查
t = (11, 22, 33)
# t[0] = 9  # 报错, 不能修改


# 排序 (不能改变原来的,sorted可以)
t = (3, 2, 7, 1, 9)
t2 = sorted(t)  # 升序  [1, 2, 3, 7, 9] (得到/返回一个列表不过没关系一样的,列表更好)
t2 = sorted(t, reverse=True)  # 降序(切片也可以但不能用sort和reverse)  [9, 7, 3, 2, 1]

t = (3, 2, 7, 1, 9)
t2 = reversed(t)  # 返回的是一个对象,需要强转  <reversed object at 0x0000000002612278>
# print(t2)
print(list(t2))

# 列表和元组的转换
print(list((1, 2, 3)))  # [1, 2, 3]
print(tuple([1, 2, 3]))  # (1, 2, 3)

# 元组列表可以快速取值
x, y = (2, 3)  # 2 3
x, y = [2, 3]  # 2 3
print(x, y)

# 元组中有列表(列表可以改)
t = (1, 2, [3, 4])

# t[-1] = 0  不行
t[-1][0] = 0  # (1, 2, [0, 4])
print(t)

猜你喜欢

转载自blog.csdn.net/weixin_44298535/article/details/107621395