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内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
下期见,拜拜~