python学习之路(七)
一,元组
从外观上看,元组和列表的区别就是元组使用的是圆括号(),列表使用的是方括号[]。(元组也可以不用写括号)
相比于列表,元组是不可以更改的,我们只可以对他进行查的操作。
比如:1.使用下表对元组中的元素进行查找。
2.使用切片遍历元组中的部分元素:a[0]:查找元组A中的第一个元素,a[-1]:查找元组的最后一个元素,a[:2]:第一个元素到第三个元素(不含第三个元素),a[2:]:表示从第三个元素到最后一个元素,我们也可以增加跨度:当a=(1 , 2 , 3 , 4 , 5 ,6),a[ : :2]就是(1,3,5)
在元组中我们也可以使用count来确定某个元素出现的个数,使用index来确定某个元素第一次出现时的下标。
在元组中,我们也可以使用+来完成两个或者多个元组的拼接:s = (1,2,3) t = (4,5,6) s+t = (1,2,3,4,5,6)。也可以使用*来完成重复拼接:s * 3 = (1,2,3,1,2,3,1,2,3)
这里我问一个看似傻傻的问题:如何生成一个只有一个元素的元组,我们来看下图:

我们发现直接使用等号,是不行的。我们要使用第二种方式才能生成一个只有一个元素的元组。
原因是当我们不在后面加上那个逗号时,python会把它当作一个普通的括号表达式即理解为单纯的整数520。
二,元组的打包和解包
元组的打包可以简单理解为生成一个元组,元组的解包就是将元组的元素拆出来,按顺序一次性赋值给N个变量。
我们举一个解包的例子:x, y = (1,2) x = 1,y = 2
我们知道python有一个多重赋值的功能,它就是搞打包和解包完成的:
x , y = 3 , 4这样赋值后,x=3,y=4。它的底层逻辑是:_ =( 3 , 4 ) x, y = _(就是将等号后面的当成一个元组,然后通过解包赋值给x和y,其中_表示的是匿名变量)
注意我们进行解包时,等号前后的数量要是相等的,如果不等将会报错。
元组中的元素并非是固若金汤的,如果其中的元素是可以修改的列表,那我们也是可以修改的

