列表
变量可以存储一个元素,而列表是一个大“容器”,可以存储N多个元素,程序可以方便地对这些数据进行整体操作
列表相当于其它语言中的数组
列表的创建
1.列表需要使用中括号[],元素之间使用英文的逗号进行分隔
2.调用内置函数list()
列表的特点
1.列表元素按顺序有序排列
2.索引映射唯一一个数据
3.列表可以存储重复数据
4.任意数据类型混合
3.根据需要动态分配和回收内存
列表的查询操作
1.获取列表中指定元素的索引 index():
1.如果列表中存在N个相同元素,只返回相同元素中的第一个元素的索引
2.如果查询的元素在列表中不存在,则会抛出ValueError
3.还可以在制定的start和stop之间进行查找
例1:
lst=['hello','python','98','hello']
print(lst.index('hello'))
0
例2:
lst=(['hello','python','world'])
print(lst.index('Baby'))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_13648/1175636271.py in <module>
1 lst=(['hello','python','world'])
----> 2 print(lst.index('Baby'))
ValueError: 'Baby' is not in list
例3:
lst=['hello','python','98','hello']
print(lst.index('hello',1,4))
3
2.获取列表中的单个元素
1.正向索引从0到N-1,举例:lst[0]
2.逆向索引从-N到-1,举例:lst[-N]
3.指定索引不存,抛出indexError
lst=['hello','world',98,'hello','world',234]
print(lst[2]) #获取索引为2的元素
98
lst=['hello','world',98,'hello','world',234]
print(lst[-3]) #获取索引为-3的元素
hello
lst=['hello','world',98,'hello','world',234]
print(lst[6]) #获取索引为6的元素
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_13648/2375259125.py in <module>
1 lst=['hello','world',98,'hello','world',234]
----> 2 print(lst[6]) #获取索引为6的元素
IndexError: list index out of range
3.获取列表中的多个元素
语法格式:
列表名[start:stop:step]
切片操作:1.切片的结果(原列表片段的拷贝)
2.切片的范围 [start,stop)
3.step默认为1(简写为[start:stop]
4.step为正数:[:stop:step] 切片的第一个元素默认是列表的第一个元素 (从start开始往后计算切片)
[start::step] 切片的最后一个元素默认是列表的最后一个元素
5.step为负数 [:stop:step] 切片的第一个元素默认是列表的最后一个元素(从start开始往前计算切片)
[start::step] 切片的最后一个元素默认是列表的第一个元素
例:切片的范围、切片的结果
lst=[10,20,30,40,50,60,70,80]
print(lst[1:6:1])