4. Python基础 ---list和tuple

list

list是Python内置的一种数据类型,是一种有序的集合,像这样的

phone = ['huawei', 'apple','xiaomi','meizu','oneplus'] #这就是一个list

看起来是不是非常熟悉呢,没错就是数组,变了个名字而已。

>>> len(phone) # 获取list长度,length变成了len
5
>>> phone[0] # 利用索引获取元素,从0开始
'huawei'
>>> phone[-1] # 索引为-1时获取最后一个元素
'oneplus'

在它叫数组的时候,我们可以往里面追加元素,用到push方法,在这里用append:

>>> phone.append('honor') #追加元素到末尾
>>> phone
 ['huawei', 'apple','xiaomi','meizu','oneplus','honor']

也可以插入元素到指定的位置,比如插入到索引为1的地方,用insert方法:

>>> phone.insert(1,‘oppo’)
>>> phone
 ['huawei','oppo', 'apple','xiaomi','meizu','oneplus','honor']

要删除一个元素用pop:

>>> phone.pop() #删除最后一个元素,返回被删除的元素
'honor'
>>> phone
 ['huawei','oppo', 'apple','xiaomi','meizu','oneplus']
>>> phone.pop(1) #删除指定位置元素
'oppo'
>>> phone
 ['huawei', 'apple','xiaomi','meizu','oneplus']

要替换list中某个元素,可以直接在对应索引赋值:

>>> phone[1] = 'pixel'
>>> phone
 ['huawei', 'pixel','xiaomi','meizu','oneplus']

list可以是不同类型元素组成的,比如:

>>> s = ['python',1,True]
>>> len(s)
3
>>> l = ['python',['java','c','c++'],'javascript'] #还可以是这种嵌套形式,其实就是二维数组
>>> i[1][2]
'c++'

总结一下这部分,list就是一个数组,按照操作数组的形式对待就可以了,只是不同语言操作方法名不同,当然还会有其他的方法,具体可以查阅官网。

tuple

元组,一种有序列表。和list很相似,但是我们可以用很多方法改变list,而tuple一旦初始化就不能被修改,获取元素和list是一样的.

>>> t = ('mike','jack','rose')
>>> t[1]
'jack'

那有爱动脑的小朋友就会问了(没错,夸我自己呢),没什么区别,还不能变化要tuple有啥用?安全呀!固定的就相对安全很多,不要觉得麻烦,能用tuple的就不要用list
但有个很坏的地方就是,歧义,一起看一下:

>>> t = (1,2) #在定义时,元素就必须确定下来
>>> t 
(1,2)
>>> s = () #空tuple
>>> s
()
>>> l = (1)
>>> l
1 #咦,怎么回事,不应该是(1)嘛

这就是问题,这是因为()既可以表示tuple,也可以表示数学中的小括号。在python中默认在这种情况下按小括号计算,因此输出就是1。那怎么能让它不计算,输出tuple (1)呢。我们只需要在后面加一个,像这样:

>>> t = (1,)
>>> t
(1,) #不要怀疑,虽然是(1,)但其实就是(1),python让你这么干的,他就能理解什么意思,有点绕,想一下

总结:list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
下期见,拜拜~

你可能感兴趣的:(4. Python基础 ---list和tuple)