创建列表的方式
1 使用[ ]
lst = ['hello', 'world',98]
2 使用内置函数list()
lst2 = list(['hello','world',98])
列表的特点
1.列表元素按顺序有序排列
2.索引映射唯一数据
3.列表可以存储重复数据
4.任意数据类型混存
5.根据需要动态分配和回收内存
列表的查询操作
获取列表中指定元素的索引
如查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引 |
如果查询的元素在列表中不存在,则会抛出ValueError |
还可以在指定的start和stop之间进行查找 |
获取列表中的单个元素
正向索引从0到N-1 举例:lst[0] |
逆向索引从-N到-1 举例:lst[-N] |
指定索引不存,抛出IndexError |
lst = ['hello','world',98,'hello']
print(lst.index('hello'))
print(lst.index('hello',1,4))
获取列表中的多个元素
切片的结果 | 原列表片段的拷贝 | ||
切片的范围 | [start,stop) | ||
step默认为1 | 简写为[start : stop] | ||
step为正数 | [:stop:step] | 切片的第一个元素默认是列表的第一个元素 | 从start开始往后计算切片 |
[start::step] | 切片的最后一个元素默认是列表的最后一个元素 | ||
step为负数 | [:stop:step] | 切片的第一个元素默认是列表的最后一个元素 | 从start开始往前计算切片 |
[start::step] | 切片的最后一个元素默认是列表的第一个元素 |
lst = [10,20,30,40,50,60,70,80]
print('原列表', id(lst))
lst2 = lst[1:6:1]
print('切的片段:', id(lst2))
print(lst[1:6]) #默认步长为1
print(lst[1:6:])
#start=1,stop=6,step=2
print(lst[1:6:2])
#stop=6,step=2,start采用默认
print(lst[:6:2])
#start=1,step=2,stop采用默认
print(lst[1::2])
print('----------step步长为负数的情况------------')
print('原列表',lst)
print(lst[::-1])
#start = 7,stop省略 step=-1
print(lst[7::-1])
#start=6,stop=0,step=-2
print(lst[6:0:-2])