python学习-元组tuple(定义、删除、长度、复制、查找、遍历、operator,和列表的区别)

元组的创建

Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组的创建,使用()或在定义变量以后添加一个逗号(,)

tup1 = (1, 2, 3)
tup2 = 123,
print('tup1 = ', tup1, type(tup1))
print('tup2 = ', tup2, type(tup2))
print('tup1[0] = ', tup1[0])
print('tup1[1] = ', tup1[1])
print('tup1[2] = ', tup1[2])
print('tup1[1:] = ', tup1[1:])
print('tup1[-1] = ', tup1[-1])
print('tup1[-2] = ', tup1[-2])
print('tup1[-3] = ', tup1[-3])

运行结果:
在这里插入图片描述

tup1[1] = 11

运行结果:
在这里插入图片描述
元组修改元素值,运行报错

元组的使用

元组不能改值,不能进行翻转,排序。但是能进行拼接

print("tup1 + tup2 = ", tup1 + tup2)

输出结果:
在这里插入图片描述
元组的删除

print(tup2)
del tup2
print(tup2)

元组不能修改元素,但是能删除,不过删除后,再打印会报错,这个大家需要注意。
运行结果:
代码编写,会有智能提示:
在这里插入图片描述
在这里插入图片描述
元组的操作:长度,复制,最大,最小

print(len(tup1))  # 长度
print(tup1 * 3)  # 复制
print('2 in tup1 = ', 2 in tup1)  # 查找元素
tup2 = (3, 4, 5)
for i in tup2:  # 遍历
    print("i = ", i)

运行结果:
在这里插入图片描述
元组获取index

print(tup1.index(2))

输出结果:
在这里插入图片描述

使用进阶

主要介绍python3去除一些函数,比如cmp函数之后,使用operator进行替代,下面介绍一下使用方法:

import operator
tup3 = (6, 7, 8, 9)
tup4 = (3, 5, 7, 10)

print(type(operator.lt(tup3, tup4)))
print(type(operator.le(tup3, tup4)))
print(type(operator.eq(tup3, tup4)))
print(type(operator.ne(tup3, tup4)))
print(type(operator.ge(tup3, tup4)))
print(type(operator.gt(tup3, tup4)))

print(operator.lt(tup3, tup4))  # 意思是less than(小于)
print(operator.le(tup3, tup4))  # 意思是less and equal(小于等于)
print(operator.eq(tup3, tup4))  # 意思是equal(等于)
print(operator.ne(tup3, tup4))  # 意思是not equal to(不等于)
print(operator.ge(tup3, tup4))  # 意思是greater and equal(大于等于)
print(operator.gt(tup3, tup4))  # 意思是greater than(大于)

输出结果:
在这里插入图片描述
每一项比较函数都添加了注释,这里不再做解释。

元组和列表的区别

list和tuple都是一个可以放置任意数据类型的有序集合,都可以存放数字、字符串、对象等。
list和tuple都可以随意嵌套,即定义的时候,可以在列表或者元组中嵌套列表和元组。
元组在创建时,存储在一块固定的内存中。
列表时可变的对象,需要两块存储空间,一块固定用来存储实际的列表,另一块可变的空间用于扩展。
元组的创建和访问要比列表要快,但是不如列表灵活。
比如一些需要保护的数据,就可以选择使用元组,不允许数值的改变。
列表是动态的,长度大小不固定,可以随意的增加、删除、修改元素。
元组是静态的,长度在初始化的时候就已经确定不能更改,更无法增加、删除、修改元素。
如果数据发生变更的可能性不大,就用元组存储,如果数据是需要频繁的进行数据的修改增加,就使用列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值