元组:

       类似列表,可以被当成容器

       特点:

            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的地址很明显是不一样的

             

               元组这种数据类型所包含的系统函数分别如下:

                 

                 但是元组虽然可以排序,但是排序结果是列表而不再是元组,因为元组中的元素是不可以修改的。但是如果还想要元组,可以对排完序的结果进行强制类型转换,,这样就又会变成元组了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐