python元组(tuple)

tuple

元组是有序的且不可更改的集合。
元组和列表一样支持索引

创建元组

# 定义一个元组,元组元素之间使用,隔开的
t = 1,2,3
print(t)
print(t[0])
(1, 2, 3)
1
t = ('h')
# type()可以输出对象的类型
print(type(t))

t = (2)
print(type(t))
<class 'str'>
<class 'int'>
# 可以看到上面俩个元组赋值,得到的结果并不是tuple
# 当元组只有一个元素时,应用以下方式赋值(增加一个,)
t = ('a',)
print(type(t))
<class 'tuple'>

使用tuple()内置函数创建元组

# 使用tuple()可创建空的元组
t = tuple()
print(t)
()
# 使用tuple(iterable)创建元组
# iterable是一个可迭代对象
t = tuple("hello world")
print(t)
('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')

元组访问

  • 下标访问
t = ('a','b','c','d','f')
print(t[1])
print(t[0])
b
a
  • 切片访问
t = ('a','b','c','d','f')
print(t[2:4])
print(t[1::2])
('c', 'd')
('b', 'd')
  • 修改元组元素
# 元组本身是不可以被修改的
t = ('a','b','c','d','f')
# t[0] = '5' typeError:'tuple' object does not support item assignme
# 先将其转换为列表
t = list(t)
t[0] = '5'
# 修改值后将其转换为元组
t = tuple(t)
print(t)
('5', 'b', 'c', 'd', 'f')

元组操作

元组实现了一般序列的操作

# 判断元素x在元组t内
print('g' in t)
print('a' in t)
False
True
# 判断元素x不在元组t内返回True
print('g' not in t)
print('a' not in t)
True
False
# 元组拼接
t = ('a','c','b')
t = t + ('1','2','3')
print(t)
t = t * 3
print(t)
('a', 'c', 'b', '1', '2', '3')
('a', 'c', 'b', '1', '2', '3', 'a', 'c', 'b', '1', '2', '3', 'a', 'c', 'b', '1', '2', '3')
# 元组的长度
print(len(t))
18
# 元组的最小项
print(min(t))
1
# 元组的最大项
print(max(t))
c
# 元素x在元组t首次出现的位置
print(t.index('1'))
# 6是起始位置,19是终止位置
print(t.index('1',6,19))

3
9
# 元素x在元组t中出现的次数
print(t.count('2'))
print(t.count('4'))
3
0
# 比较运算 <, >, ==
t1 = tuple("12345")
print(t > t1)
print(t < t1)
print(t == t1)
True
False
False

元组交换

# 元组交换可不用中间变量
print('交换前...')
print('t = {}'.format(t))
print('t1 = {}'.format(t1))
t,t1 = t1,t
print('交换后...')
print('t = {}'.format(t))
print('t1 = {}'.format(t1))
交换前...
t = ('5', 'b', 'c', 'd', 'f')
t1 = ('1', '2', '3', '4', '5')
交换后...
t = ('1', '2', '3', '4', '5')
t1 = ('5', 'b', 'c', 'd', 'f')

元组作为函数返回值

# 内置函数divmod()就会返回一个元组返回值
print(type(divmod(5,2)))
print(divmod(5,2))
<class 'tuple'>
(2, 1)
# 自动以接口,返回指定系列的长度、最小值、最大值
def len_min_max(t):
    return len(t),min(t),max(t)
print(len_min_max(t))
(5, '1', '5')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ghost_199503

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值