使用列表切片查询元素
通过切片可以将返回原有元素的一个子集。
# 通过切片,返回所有元素
>>> mylist = [1,2,3,4,5,6,7]
# 通过一个引号返回全部元素
>>> mylist[:]
[1, 2, 3, 4, 5, 6, 7]
# 通过两个引号返回全部元素
>>> mylist[::]
[1, 2, 3, 4, 5, 6, 7]
>>>
# 返回全部元素,倒序
>>> mylist[::-1]
[7, 6, 5, 4, 3, 2, 1]
# 返回除最后一个元素外的其他元素
>>> mylist[:-1]
[1, 2, 3, 4, 5, 6]
# 返回最后一个元素
>>> mylist[-1]
7
>>>
# 隔一个元素取一个数,获取全部偶数
>>> mylist[1::2]
[2, 4, 6]
>>>
# 隔一个元素取一个数,获取全部奇数
>>> mylist[::2]
[1, 3, 5, 7]
>>>
# 获取2-4的元素
>>> mylist[2:5]
[3, 4, 5]
>>>
使用列表切片修改元素
# 在列表末尾添加元素
>>> mylist1 = [1,2,3]
>>> mylist1[len(mylist1):]=[9]
>>> mylist1
[1, 2, 3, 9]
>>>
# 替换序列号下标2到4的元素
>>> list1 = [1,2,3,4,5]
>>> list1[2:5]=['a','b','c']
>>> list1
[1, 2, 'a', 'b', 'c']
>>>
# 删除序号下标是0或者1的元素
>>> list1[0:2] = []
>>> list1
['a', 'b', 'c']
>>>
切片返回的数据是浅复制
>>> alist = [['a','b'],['c','d']]
>>> blist = alist[:]
>>> alist[0][0] = 'e'
# 改变一个关联对象元素会同时改变
>>> alist
[['e', 'b'], ['c', 'd']]
>>> blist
[['e', 'b'], ['c', 'd']]
# id不相同,值相等
>>> alist == blist
True
>>> alist is blist
False