零基础入门学习Python(6):列表(续)

零基础入门学习Python(6):列表(续)

通过索引值访问列表元素,索引从0开始

>>> member = [1,2,3,"xiuxiu","Hello"]
>>> member
[1, 2, 3, 'xiuxiu', 'Hello']
>>> member[2]
3

remove():从列表删除元素,参数为元素

>>> member.remove(3)
>>> member
[1, 2, 'xiuxiu', 'Hello']
>>> member.remove("lala")    #删除不存在的元素时会出错
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    member.remove("lala")
ValueError: list.remove(x): x not in list

del语句,后面跟索引

>>> del member[0]
>>> member
[2, 'xiuxiu', 'Hello']
>>> del member               #删除整个列表
>>> member                   #再访问时不存在
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    member
NameError: name 'member' is not defined

pop() :有返回值

>>> member = [1,2,3,"xiuxiu","Hello"]
>>> member
[1, 2, 3, 'xiuxiu', 'Hello']
>>> member.pop               #返回列表中最后一个元素
'Hello'
>>> member
[1, 2, 3, 'xiuxiu']
>>> name = member.pop()     #可以把pop()出来的元素赋值给另一个变量
>>> name
'xiuxiu'
>>> member
[1, 2, 3]
>>> member.pop(1)           #pop()可以有参数,即弹出列表中第几个元素
2
>>> member
[1, 3]

列表分片(slice)

>>> member = [1,2,3,"xiuxiu","Hello"]
>>> member
[1, 2, 3, 'xiuxiu', 'Hello']
>>> member[1:3]             #表示列表第一到第三个元素,但不包括第三个元素
[2, 3]
>>> member[:4]              #表示从开始到第四个元素
[1, 2, 3, 'xiuxiu']
>>> member[2:]              #表示从第二个元素到最后
[3, 'xiuxiu', 'Hello']
>>> member[-1]              #索引可以为负,-1表示最后一个元素
'Hello'
>>> member[-3:-1]           #同样不包括最后-1索引的这个元素
[3, 'xiuxiu']
>>> member2 = member[:]     #表示把member的所有元素都赋给member2
>>> member2
[1, 2, 3, 'xiuxiu', 'Hello']

有一点需要注意

>>> member3 = member        #这样也是把member赋给member3
>>> member3
[1, 2, 3, 'xiuxiu', 'Hello']
>>> id(member2)             #通过id()可以得到变量的内存地址
41410032
>>> id(member)
41408672
>>> id(member3)
41408672
>>> 

我们发现,直接把变量名赋过去的member3与member的内存地址相同,即它们指向同一块内存区域,所以会有:

>>> member.remove(3)
>>> member
[1, 2, 'xiuxiu', 'Hello']
>>> member3                 #它们的变化是一致的
[1, 2, 'xiuxiu', 'Hello']
>>> member2                 #但是member2没有改变,因为这是创建了列表所有元素的一个副本,它们不在同一块内存区域
[1, 2, 3, 'xiuxiu', 'Hello']

零基础入门学习Python(6):列表

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值