python_ 元组

元组

记录学习 全部参考 https://github.com/datawhalechina/team-learning-program

创建元组

t1 = (1, 10.31, 'python')   # (1, 10.31, 'python') 
t2 = 1, 10.31, 'python'     # (1, 10.31, 'python') 

# 二维元组:
nested1 = ((1, 10.31, 'python'), ('data', 11))  # ((1, 10.31, 'python'), ('data', 11)) 
nested2 = (1, 10.31, 'python'), ('data', 11)   #((1, 10.31, 'python'), ('data', 11)) 

访问元组

  • 索引访问:返元组元素
  • 切片访问: 返回元组一组元素
a = 1, 2, 3, 4, 5, 6, 7
print(a[6])     # 7
print(a[0:-1])  # (1, 2, 3, 4, 5, 6)

更新和删除一个元组

week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
week = week[:2] + ('Wednesday',) + week[2:]
print(week)  # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
t1 = (1, 2, 3, [4, 5, 6])
print(t1)  # (1, 2, 3, [4, 5, 6])

t1[3][0] = 9
print(t1)  # (1, 2, 3, [9, 5, 6])

解压元组

# 解压(unpack)一维元组
t = (1, 10.31, 'python')
(a, b, c) = t
# 解压二维元组
t = (1, 10.31, ('OK', 'python'))
(a, b, (c, d)) = t
# 用通配符「*」 处理多余元组
t = 1, 2, 3, 4, 5
a, b, *rest, c = t    # a:1  b:2  c:5
a, b, *_ = t          # a:1  b:2

练习题:

1、元组概念

写出下面代码的执行结果和最终结果的类型

(1, 2)*2	# (1, 2, 1, 2)    
(1, )*2     # (1, 1)          
(1)*2       # 2               

2、拆包过程是什么?

a, b = 1, 2

上述过程属于拆包吗?

可迭代对象拆包时,怎么赋值给占位符?

你可能感兴趣的:(#python)