今天是学习python的第四天,完成了今天基本第一阶段就完成了。今天主要任务是两个个比较重要的类型,list_tuple;由于list那篇博客归纳的比较多,所以第四天我就分开梳理了,这样大家可以查找很方便🐳🐳🐳
🍊.tuple_元组
🍉 tuple_元组的基础概念
列表(list),是一个有序且可变的容器,在里面可以存放多个不同类型的元素。[]
元组(tuple),是一个有序且不可变的容器,在里面可以存放多个不同类型的元素。()
简单来说元组(tuple)在列表(list)就是多了一个不可变的限制条件。
我在写博客之前,看了排在前面的博客,很少人把这个不可变说,可能这些大佬,默认各位少年通晓了
下面我们来看看这个不可变。
uers_tuple = (11,22,33)
# uers_tuple[1] = 44 不允许修改成员
my_tuple = (11,22,33,[44,55,66])
# my_tuple[2] = 88 报错
my_tuple[3][1] = 77 # [3]:元组的第四个元素,[1]:第四个元素的第二个元素
print(my_tuple) # (11, 22, 33, [44, 77, 66])
这个不可变是元组一旦创建后,不能再进行增删改的操作,但是我们可以看出,我们依然还是成功的修改了
my_tuple元组的最后一个元素。元组的元素是可变类型的,我们可以修改其可变元素的元素,有点绕!
如何体现不可变呢?
记住一句话:《“我儿子永远不能换成是别人,但我儿子可以长大”》
注意:建议在元组的最后多加一个逗号,用于标识他是一个元组。
# 面试题
- 比较值 n1 = (1) 和 n2 = 1 和 n3 = (1,) 有什么区别?
- 比较值 n1 = ( (1),(2),(3) ) 和 n2 = ( (1,) , (2,) , (3,),) 有什么区别?
- (1)解答:n1和n2都是表示整数1,在python里面为了区别者两者,一个元素的元组后面加 ’ , ’ n3为元组
- (2)解答:有了第一问的知识,n1就是元素类型为整数的元组,n2则是元素为元组的元组
🍉 tuple_的常用和基本功能
list_列表和tuple_元组本质的常用功能基本相同,但是不可变的定义使得元组功能相对比列表少了很多,下面有几个常用的。
🍌访问元素
my_tuple = (1,2,3)
e = my_tuple[0] # 访问第一个元素,值为1
🍌获取长度
my_tuple = (1,2,3)
length = len(my_tuple) # length 的值为3
🍌元素拆包
my_tuple = (1,2,3)
a, b, c = my_tuple # 将元组中的元素分别赋值给 a, b, c 变量
🍌元组相加,相乘
tuple1 = (1, 2)
tuple2 = (3, 4)
add_tuple = tuple1 + tuple2 # add_tuple 的值为 (1, 2, 3, 4)
mul_tuple = tuple1*2 # mul_tuple 的值为(1, 2, 1, 2)
🍌元组的切片访问
- 读取切片元素
user_tuple = ("abc", "Abc", "abd", "bde", "玩偶姐姐", "1")
# 使用切片操作获取整个元组的副本
print(user_tuple[:]) # 输出: ('abc', 'Abc', 'abd', 'bde', '玩偶姐姐', '1')
# 使用切片操作获取元组的前两个元素(索引0和1)
print(user_tuple[0:2]) # 输出: ('abc', 'Abc')
# 使用切片操作获取元组的第二个元素到最后一个元素
print(user_tuple[1:]) # 输出: ('Abc', 'abd', 'bde', '玩偶姐姐', '1')
# 使用负数索引,从元组末尾开始切片,获取倒数第五个到倒数第二个元素
print(user_tuple[-5:-1]) # 输出: ('Abc', 'abd', 'bde', '玩偶姐姐')
# 获取元组的最后一个元素(倒数第一个元素)
last_element_to_end = user_tuple[-1:]
print(last_element_to_end) # 输出: ('1',)
- 步长切片
user_tuple = ("abc", "Abc", "abd", "bde", "玩偶姐姐", "1")
# 使用切片操作获取整个元组的副本
print(user_tuple[:]) # 输出: ('abc', 'Abc', 'abd', 'bde', '玩偶姐姐', '1')
# 使用切片操作获取元组的前两个元素(索引0和1)
print(user_tuple[0:2]) # 输出: ('abc', 'Abc')
# 使用切片操作获取元组的第二个元素到最后一个元素
print(user_tuple[1:]) # 输出: ('Abc', 'abd', 'bde', '玩偶姐姐', '1')
# 使用负数索引,从元组末尾开始切片,获取倒数第五个到倒数第二个元素
print(user_tuple[-5:-1]) # 输出: ('Abc', 'abd', 'bde', '玩偶姐姐')
# 获取元组的最后一个元素(倒数第一个元素)
last_element_to_end = user_tuple[-1:]
print(last_element_to_end) # 输出: ('1',)
谢谢你看到了最后,今天的内容主要了解元组的不可变就行,在以后工作中,list_元组使用频率高于tuple_元组,大家一定要对list的常用功能和基本功能熟悉,相比于C++,python还是很友好的,第五天的时候我们开始dict_字典和set_集合,🐳🐳🐳