列表

列表

列表是由一系列按**特定顺序**排列的元素组成。首先,特定顺序这四个字表明列表是有一定顺序的,即元素相同但排序不同的是两个列表;其次,列表中的各个元素数据类型可以不相同(区分与c等各种语言)

访问列表元素

访问列表元素的方法主要有下标法和切片法。下标的方法用于获取列表中的单个值,切片方法用去获得子列表。
    #定义一个spam的列表
    >>>spam = ['cat', 'bat', 'rat', 'elephant']
    #下标方法有正负下标之分,正下标法元素下标索引从0开始,表示第一个元素,依次+1
    >>>spam[0]
    'cat'
    >>>spam[1]
    'bat'
    >>>spam[2]
    'rat'
    #负下标从-1开始,表示最后一个元素,依次减1
    >>>spam[-1]
    'elephant'
    >>>spam[-2]
    'rat'
    >>>spam[-3]
    'bat'
    #切片获得的是子列表,这是一个左闭右开区间
    #注意获得的是列表,即使只有一个元素也是一个列表,而不是单个元素
    >>>spam[0:4]
    ['cat', 'bat', 'rat', 'elephant']
    >>>spam[1:3]
    ['bat', 'rat']
    >>>spam[0:-1]  #正负下标可以通用表示spam[0:3]
    ['cat', 'bat', 'rat']
    >>>spam[:2]  #从第一个元素开始到spam[2]
    ['cat', 'bat']
    >>>spam[1:]  #spam[1]到最后一个元素
    ['bat', 'rat', 'elephant']
    >>>spam[:]  #整个列表
    ['cat', 'bat', 'rat', 'elephant']
    >>>spam[1:2]  #区别于spam[1]的返回结果
    ['bat']    

列表的修改、添加和删除

列表元素的修改

列表元素修改只需要制定列表名和相关索引,再指定该元素新的值即可。

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>spam[0]=15 #修改元素值
>>>spam[0]
15

列表元素的添加

在列表末尾添加元素

仅将元素加到列表末尾,使用append()方法即可

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>spam.append('dog') #在尾部添加'dog'
>>>spam
['cat', 'bat', 'rat''elephant', 'dog']
>>>spam.append(12) #在尾部添加12
>>>spam
['cat', 'bat', 'rat''elephant', 'dog', 12]
在列表中插入元素
使用insert()方法在列表指定位置插入元素,需要指定新元素的索引和值。    
>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>spam.insert(0, 'dog')  #第一个元素为索引,第二个元素为值,spam[0]处插入了新的元素
>>>spam
['dog', 'cat', 'bat', 'rat', 'elephant']

从列表中删除元素

从列表中删除元素有三种方法del,pop(),remove()
使用del方法删除元素

使用del删除指定元素需要直到元素的位置

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>del spam[0]  #删除spam的第一个元素
>>>spam
['bat', 'rat', 'elephant']

del方法没有返回值,因此,用del方法删除的元素无法再次进行访问,因此通常要求再访问该元素时,我们采用pop()方法删除元素

使用pop()方法删除元素
pop()方法具有返回值,因此其删除的元素可以被访问,使用pop()方法可以选择直接删除列表尾的值或者删除指定位置的值。
>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>a=spam.pop()  #直接调用pop()方法删除列表尾部的元素
>>>spam
['cat', 'bat', 'rat']
>>>b=spam.pop(0)  #删除索引位置0的元素
>>>spam
['bat', 'rat']
>>>a
'elephant'
>>>b
'cat'
使用remove()删除元素

如果只知道元素的值而不知道元素的索引位置,可以使用remove()方法

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>spam.remove('cat')   #删除'cat'
>>>spam
['bat', 'rat', 'elephant']

方法remove只会删除列表中第一个出现的值,如果出现多次,需要循环删除

组织列表

列表排序

列表排序有sort()方法和sorted()方法。
sort()方法是列表的一个方法,会实际改变列表的值。
sorted()方法不会实际改变列表的值

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>sorted(spam)
['bat', 'cat', 'elephant', 'rat']
>>>spam #实际spam未发生变化
['cat', 'bat', 'rat', 'elephant']
>>>spam.sort()   
>>>spam
['bat', 'cat', 'elephant', 'rat']  #实际spam发生变化
>>>spam.sort(reverse=True)  #令reverse=True实现倒序排列
>>>spam
['rat', 'elephant', 'cat', 'bat']

反转列表

反转列表采用reverse()方法,注意区分其与倒序排列的区别。reverse()方法只是将原始顺序颠倒。
>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>spam.reverse()
>>>spam
['elephant', 'rat', 'bat', 'cat']

确定列表的长度

len()函数返回列表中元素的个数

>>>spam = ['cat', 'bat', 'rat', 'elephant']
>>>len(spam)
4

列表复制

spam1=spam的操作不能复制一个列表,只是表示spam和spam1都指向同一个列表(改变其中任意一个列表值,两个列表都会发生改变),如果想要赋值列表可以用spam1=spam[:]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值