5.元组

DataWhale-Python基础-5.元组

元组(tuple)的形式:
(元素1,元素2,…,元素N)

  • 它是由小括号括起来的
  • 元素之间用,来间隔

1.创建与访问一个元组

首先我们来看一下元组和列表的异同:

  1. 元组用小括号,数组用中括号
  2. tuple创建之后不能被修改,list可以
  3. 都可以用整数来进行索引和切片操作
t1 = (1, 10.31, 'python')
t2 = 1, 10.31, 'python'
print(t1, type(t1))
# (1, 10.31, 'python') <class 'tuple'>

print(t2, type(t2))
# (1, 10.31, 'python') <class 'tuple'>
#这里我们可以看出构造元组可以不需要小括号,但为了可读性,一般都会加上。

#元组的索引及切片
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8)
print(tuple1[1])  # 2
print(tuple1[5:])  # (6, 7, 8)
print(tuple1[:5])  # (1, 2, 3, 4, 5)
tuple2 = tuple1[:]
print(tuple2)  # (1, 2, 3, 4, 5, 6, 7, 8)

#元组中只包含一个元素的时候,需要在后面添加逗号,否则括号可能被当作运算符使用
x = (1)
type(x)
# int
x = (1,)
type(x)
# tuple

2.更新和删除一个元组

  • 元组有不可更改 (immutable) 的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改 (mutable),那么我们可以直接更改其元素,注意这跟赋值其元素不同。
#例子
week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
week = week[:2] + ('Wednesday',) + week[2:]
print(week)  # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')

3.元组相关的操作符

  • 等号:==
  • 连接:+
  • 重复:*
  • 成员关系:in, not in

4.元组的内置方法

由于元组的大小和内容都不可更改,因此只有count和index两种方法。

t = (1, 10.31, 'python')
print(t.count('python'))  # 1
print(t.index(10.31))  # 1
  • count用来对元组中该元素出现的次数
  • index用来找到该元素在元组中的索引

5.解压元组

#解压一维元组
t = (1,2,3)
a,b,c = t
print(a,b,c)
# 1 2 3

#解压二元数组
t = (1, 2, (3, 4))
a, b, (c, d) = t
print(a,b,c,d)
# 1 2 3 4

#使用通配符*来表示多个元素
t = (1,2,3,4,5)
a, b, *rest, c = t
print(a,b,c,rest)
# 1 2 5 [3, 4]

#用*_来表示其他
t = 1, 2, 3, 4, 5
a, b, *_ = t
print(a, b)  
# 1 2

练习题
1.写出下面代码的执行结果和最终结果的类型

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

2.拆包过程是什么?

拆包过程就是对于函数中的多个返回数据, 去掉元组,列表或者字典 直接获取里面数据的过程.
a,b = 1,2
属于拆包

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

单个变量可以直接用=赋值给一个变量
也可以用*来表示多个变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值