python中的元组类型
元组:
类似列表,可以被当成容器
特点:
1、定义的符号:() 列表中的符号是[ ]
2、元组中的内容不可修改,相当于元组只能存放东西,但是不能随意修改或者往里面加东西。
但是对列表进行操作可以进行增删改。因此对元组进行的操作可以是查找。
元组中的其它函数:
index(): 查找元组中某元素对应的下标,如果元组中没有该元素,那么运行之后会报错
count():查找元组中某元素出现的次数,如果元组中没有该元素,那么对应次数就是0次
3、元组的关键字是:tuple -> 表示元组
注意如果元组中只有一个元素,这个元素后面一定要加一个,否则在判断对应数据类型时,和没加括号的数据类型是一样的,例如:
t2=('hello')
print(type(t2)) 那么计算出来的结果应该是str类型而不是tuple类型的
对元组进行拆包,也就是使用值来进行接收元组:
a和c分别接一个值,然后其它三个值是以一个整体来存放,也就是作为一个元组直接存放到_中
然后再看一下下面两个代码,可以知道不是因为_导致的存放了剩下的元素,而是因为*,因为有了*所以能存放多个元素。
如果说接收的元素比待存放的元素还要多,那么下面的代码如果是a,b=t1,那么就会自动报错,但是如果是a,*b,那么就不会报错,同时b中存放的内容是[ ],也就是意味着*既可以存放零个元素也可以存放多个元素,真的是可以存放任意多个元素。
拆装过程具体解释,在python的底层已经帮你去实现了拆装的动作,系统只要看到*,就会自动帮你准备一个容器[ ]出来:
如果需要打印*[4,8,6],则系统底层会默认自动去打印成散列的4,8,6,也就是默认自动完成了一个拆包的动作:
拆装包总结:看*加的位置,在函数中也会涉及到这些东西:
元组总结:
+和*这两个符号的使用:
is的作用: 前后两个元素的地址一不一样例如下面的用法:
这样结果就是false,因为t2和t3的地址很明显是不一样的
元组这种数据类型所包含的系统函数分别如下:
但是元组虽然可以排序,但是排序结果是列表而不再是元组,因为元组中的元素是不可以修改的。但是如果还想要元组,可以对排完序的结果进行强制类型转换,,这样就又会变成元组了。