获取列表中指定元素的索引:
index():如查列表中存在N个元素,只返回相同元素中的第一个元素的索引,如果查询的元素在列表中不存在,则会抛出ValueError,还可以在指定的start和stop之间进行查找
代码如下:
list1=['hello','world',98,'hello']
print(list1.index('hello')) #列表存在两个hello,只返回相同元素的第一个元素
#print(list.index('python')) #ValueError:'python' is not in list
#print(list1.index('hello',1,3))#ValueError: 'hello' is not in list
print(list1.index('hello',1,4))
运行结果:
0
3
Process finished with exit code 0
获取列表中的单个元素:
正向索引从0到N-1,例如:list1[0]
逆向索引从-N到-1, 例如:list1[-N]
指定索引不存在,抛出IndexError
获取列表中指定的元素代码如下:
list1=['hello','world',98,'hello']
#获取索引为2的元素
print(list1[2])
#获取索引为-3的元素
print(list1[-3])
#获取索引为10的元素
#print(list1[10]) #IndexError: list index out of range
运行结果:
98
world
Process finished with exit code 0
获取列表中的多个元素:
语法格式:列表名[start : stop : step]
代码如下:
lst=[10,20,30,40,50,60,70,80]
#start=1,stop=6,step=1,
print(lst[1:6:1]) #不包括70这第六个元素的
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])
#start不写,stop=6,step=2,默认从第0元素10开始
print(lst[:6:2])
#start=1,stop不写,step=2,
print(lst[1::2])
print('-------------step步长为负数的情况-------------------')
print(lst[::-1]) #将列表逆序输出了你也可以这样理解就是正序的step为1,逆序的时候为-1
#start=7,stop省略,step=-1,
print(lst[7::-1])
#start=6,stop=0,step=-2,
print(lst[6:0:-2])
运行结果:
[20, 30, 40, 50, 60]
原列表 8537552
切的片段: 8538712
[20, 30, 40, 50, 60]
[20, 30, 40, 50, 60]
[20, 40, 60]
[10, 30, 50]
[20, 40, 60, 80]
-------------step步长为负数的情况-------------------
[80, 70, 60, 50, 40, 30, 20, 10]
[80, 70, 60, 50, 40, 30, 20, 10]
[70, 50, 30]
Process finished with exit code 0