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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,789评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,752评论 0 5
  • Python创建List Python创建list Python内置的一种数据类型是列表:list。list是一种...
    极客小寨阅读 504评论 0 0
  • 与或运算 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此...
    张文靖同学阅读 322评论 0 1
  • 只是看到这句诗的刹那想法,自娱自乐罢了。且看且看~ 今夜,老君依旧不在殿内。即使在这个关键时刻,老君最爱的还是那瑶...
    岂言岂弟阅读 270评论 0 0