酒店要做关于网站ppt怎么做/品牌推广策划方案怎么写
一、初识元组
元组也是一种序列,和list比起来,有一个重要的不同点在于它不能被修改。至于它为何不能被修改,我们放在最后讲,先创建一个元组,直观的有一个了解。
>>> t = 1,2,3
>>> t
(1, 2, 3)
>>> type(t)
我创建了一个变量t ,将 1,2,3赋值给它,输出t,你会注意到,1,2,3被小括号括起来了,用type内置函数输出它的类型,是一个tuple,tuple就是元组的意思。如果我们用逗号分隔了一些值,像上图第一行这种形式,那么就会自动的创建一个元组。
注意元组的形式,两边是小括号,还记得list的形式么,两边是中括号。
二、与list做对比
下面分别创建一个元组和list,注意他们的形式
>>> t = (1,2)
>>> type(t)
>>> l = [1,2]
>>> type(l)
接下来,创建一个空的元组和一个空的list
>>> empty_tuple = ()
>>> type(empty_tuple)
>>> empty_lst = []
>>> type(empty_lst)
创建一个只有一个元素的元组和一个只有一个元素的list
>>> one_lst = [2]
>>> one_tuple = (1,)
>>> one_lst
[2]
>>> one_tuple
(1,)
三、既生瑜何生亮
我用这种对比的方法是想告诉大家,元组和list非常像,但是又有不同,注意看第一行,在只有一个元素的情况下,还是在2的后面放了一个逗号,但在list中,2的后面却没有,这是为何?为的是避免歧义。不妨把2后面的逗号去掉,看看是什么效果。
>>> t = (2)
>>> t
2
>>> type(t)
小括号里单独放一个2,其实就是一个简单的表达式,一个int类型的数值,这样一来,就和元组的表现形式冲突了,为了避免这种冲突,python要求当元组中只有一个元素的时候,要多加一个逗号。
由于元组和list太像了,所以,对list的操作用在元组上都是可行的,但是那些可以改变元组内容的不算在内,元组是不可变序列。可行的比如取数据,分片,这些都是没问题的,但是insert,append等会改变其内容的操作都不可行。你会感到奇怪,他们几乎一样,那元组还有存在的必要么?有,当然有,我在工作中经常用到元组,有时写一个函数,返回值不止一个,我通常把这些返回值作为元组返回,一来是方便,二来是返回的结果作为元组是不可以被修改的,这样,我就不必担心其他人用了我的函数后不小心修改返回结果。此外,由于元组不可以被修改,因此,还可以作为字典的key值,而list是不能的。
四、两个函数
最后介绍两个函数,一个是tuple函数,一个是list函数
>>> lst = [1,2]
>>> tup = tuple(lst)
>>> tup
(1, 2)
>>> lst2 = list(tup)
>>> lst2
[1, 2]
tuple函数可以把一个list转成元组,list函数则可以把一个元组转成list,还记得long函数么,还有int函数,float函数,str函数,这些函数可以将一种数据转成另一种数据。