python之元组

一.元组定义

元组(tuple)使用小括号()来定义,它是不可变数据类型,它的元素不可变,但元素的元素是可变的,比如tuple中一个元素为list列表时,list中的元素是可变的

# 在定义tuple时,元素就必须确定下来
aa = (1, "ok")
# aa[0] = 2 tuple元素不能修改
print(aa)
# 在定义只有一个元素的tuple时,注意要在第一个元素后加上",",aa=(2,),否则会被认为是赋值aa=(2)
aa = (2, )  # tuple
print(type(aa))
aa = (2)    # int,被认为是一个数字
print(type(aa))

二.理解元素不可变

# tuple的元素指向不变,但指向的内容可变
classes = [1, 2]
tuple1 = ("a", "b", classes)    # tuple1指向classes没有变,但classes本身的内容是可以变的
print(tuple1)
classes[0] = 11
classes[1] = 22
print(tuple1)

输出如下
('a', 'b', [1, 2])
('a', 'b', [11, 22])

三.元组遍历

元组是有序的,有下标,可以切片,拼接,可以通过for循环遍历获取每一个元素

tuple1 = (1, 2, 3, 4, 5)

for i in tuple1:
    print(i)

输出如下
1
2
3
4
5

四.元组的切片

常见切片如下

tuple1 = (1, 2, 3, 4, 5)

print(tuple1[::])       # 获取所有元素
print(tuple1[::-1])     # 倒序打印元组所有元素,tuple1元素本身不变
print(tuple1[1:3])      # 获取下标为1, 2的元素(2, 3)
print(tuple1[:4])       # 不写起始位置,默认从头开始,0,1,2,3,(1,2,3,4)
print(tuple1[3:])       # 不写结束位置,默认一直截到最后,3,4,(4,5)

输出结果如下
(1, 2, 3, 4, 5)
(5, 4, 3, 2, 1)
(2, 3)
(1, 2, 3, 4)
(4, 5)

五.元组的常见方法使用

tuple1 = (1, 2, 3, 4, 5)

# 获取元组元素个数,即元素长度
print(len(tuple1))
print(tuple1.__len__())

输出结果如下
5
5
tuple1 = (1, 2, 3, 2, 4, 5)

print(tuple1.count(2))      # .count(e),获取元素e在元组中出现的次数
print(tuple1.index(2))      # .index(e),获取元素e在元组中第一次出现时的下标

输出结果如下
2
1

 六.元组的应用场景

1.作为函数的参数和返回值

元组中的数据通常类型都不不同的,所以通过for遍历使用的很少

2.格式化输出时使用的就是一个元组

print("my name is %s, now is %d years old" % ("xiaoming", 23))

也可以这样写

user_info = ("xiaoming", 23)

print("my name is %s, now is %d years old" % userinfo)

或者这样写

user_info = "my name is %s, now is %d years old" % ("xiaoming", 23)

print(user_info)

3.保证数据安全

如果为了保证数据不被人修改,可以定义为元组类型。

原文地址:https://www.cnblogs.com/golinux/p/10788353.html