1、为什么需要列表
- 变量可以储存一个元素,而列表是‘大容器’可以储存m多个元素
- 列表相当于其他语言中的数组
a=10 #id:886,type:int,value:10
lst=['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)
2、列表的创建方式
- 使用中括号
- 调用内置函数list()
lst=['hello','world',98] #planA
lst2=list(['hello','world',98]) #planB使用内置函数list()
3、列表的特点
- 列表元素按顺序有序排序
- 索引映射唯一个数据
- 列表可以存储重复数据
- 任意数据类型混着存放、
- 根据需要动态分配和回收内存
lst=['hello','world',98]
print(lst[0],lst[-1]) #[0]表示正数第一个,[-1]表示倒数第一个
4、列表的查询操作
- 获取列表中指定元素的索引:
- 如果查列表中存在n个相同的元素,只返回第一个元素索引
- 如果查询的元素在列表中不存在,则会抛出ValueError
- 还可以在指定的start和stop之间进行查找
lst=['hello','world',98,'hello']
print(lst.index('hello')) #如果列表中有相同元素,只返回第一个元素索引
print(lst.ndex('kiss')) #ValueError
print(lst.index('hello',1,3)) #不包括3,第一个为0,所以查不到
''' 注意lst和index用的是英文句号 '''
- 获取列表中的单个元素:
- 正向索引从0到n-1 eg.lst[0]
- 逆向索引从-n到-1 eg.lst[-n]
- 指定索引不存,抛出indexError
lst=['hello','world',98,'hello','world',234]
print(lst[2]) #98
print(lst[-3]) #获取索引为-3的元素
print(lst[10]) #indexError
- 获取列表中的多个元素:列表名[start:stop:step]
- 切片的结果:愿列表片段的拷贝
- 切片的范围:[start,stop)
- step默认为1
- 步长为负数,可以逆序输出;开始和结束都可以默认省略
lst=[10,20,30,40,50,60,70,80]
print('原列表',id(lst))
print(lst[1:6:1])
lst2=lst[1:6:1]
print('切的片段:',id(lst2))
print(lst[1:6:])
print(lst[1:6:2 ])
print(lst[ :6:2 ]) #省略start
print(lst[ 1::2 ]) #省略stop
print(lst[::-1 ]) #直接逆序输出
print(lst[ 7::-1 ]) #同为逆序输出
print(lst[6::-2])
- 判断指定元素在列表中是否存在用in 和not in
- 列表元素的遍历 for 迭代变量 in 列表名: 操作
lst=[10,20,30,40,50,60,70,80,'python']
print(10 in lst)
print(100 in lst)
print(100 not in lst)
for item in lst:
print(item)