通过索引值访问列表元素,索引从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):列表