2021-09-09-P46-P56-列表-马士兵Python教

2021-09-09  本文已影响0人  FFwizard

2021-09-09

视频链接

列表

课程介绍

1、列表的创建于删除
2、列表的查询操作
3、列表元素的增、删、改操作
4、列表元素的排序
5、列表推导式

45、为什么需要列表

变量可以存储一个元素,列表是一个大容器,可以存储多个元素
列表相当于其它语言中的数组
变量存储的是一个对象的引用,列表存储的是多个对象的引用

#变量存储的是一个对象的引用,列表存储的是多个对象的引用,
a=10
lst=['hello','world',98]  #列表存储了列表内每一个对象的信息,包括id、type、value
print(id(lst))  #同时列表本身也具有一个id地址
print(type(lst))
print(lst)

46、列表的创建

使用 [] 代表列表; 元素之间用 , 分割

lst=['hello','world',98]  # 创建列表的第一种方式,用方括号
lst1=list(['hello','world',98])  # 第二种方式,list()函数

47、列表的特点

1、列表元素按顺序有序排序
2、索引映射唯一一个数据
3、列表可以存储重复数据
4、任意数据类型混存
5、根据需要动态分配和回收内存

48、获取指定元素的索引,列表查询操作

1、如果列表中存在多个相同元素的话,lst.index只返回相同元素的第一个元素的缩影
2、可以在指定查找范围内进行索引查找

lst=['hello','world',98,'hello']
print(lst.index('hello'))  # 只返回相同元素的第一个元素的索引
# print(lst.index('python'))  #'python' is not in list
# print(lst.index('hello',1,3))  # 'hello' is not in list
print(lst.index('hello',1,4))  # 3

49、获取列表中指定的元素

获取单个元素

正向索引从0到N-1
你想索引从-N到-1

##49、获取列表中指定的元素
lst=['hello','world',98,'hello','world',234]
print(lst[2])  #获取索引为2的元素
print(lst[-3])  #获取索引为-3的元素
#不能获取超出列表指定范围的索引所代表的的元素
#print(lst[10])  #list index out of range

50、列表元素的查询操作

获取列表中的多个元素

列表名[start:stop:step]

lst=[10,20,30,40,50,60,70,80]
print(lst[1:6:1])  #lst[start:stop:step]
lst1=lst[1:6:1]
print('愿列表',id(lst))
print(id(lst1))  #切片操作:切出来的列表是一个新的对象
##step为正数的切片情况
print(lst[1:6]) #默认步长为1
print(lst[1:6:]) #默认步长可以省略不写
print(lst[1:6:2])
print(lst[:6:2]) #默认start从索引0开始,可以省略不写
print(lst[1::2]) #默认stoop为列表最后一个元素,可以省略不写
#step为负数的切片情况
print('原列表:',lst)
print(lst[::-1])  ##start默认,stop默认,步长使用-1,那么第一个元素是列表的最后一个元素
#start=7,stop 省略,step=-1
print(lst[7::-1])  ## ==lst[::-1]
print(lst[6:0:-2])   ## [70, 50, 30]

51、列表元素的判断及遍历

##51、列表元素的判断及遍历
print('p' in 'python')  #True
lst=[10,20,'python','hello']
print(10 in lst) #True
print(100 not in lst) # True、
#列表元素的遍历
for i in lst:
    print(i)

52、列表元素的增加操作

-append-向列表的末尾添加一个元素
-extend-向列表的末尾添加至少一个元素
-insert-在任意位置上添加一个元素
切片-在任意的位置上添加N多个元素

##52、列表元素的增加操作
#-append-向列表的末尾添加一个元素
lst=[10,20,30]
print('添加元素之前',lst,id(lst))
lst.append(100)
print('添加元素之后',lst,id(lst))  ## 列表还是同一个列表
#-extend-向列表的末尾添加至少一个元素
lst2=['hello','world']
lst.append(lst2)  # 将lst2作为一个元素添加到列表的末尾
lst.extend(lst2)  # 将lst2的每一个元素添加到列表的末尾
#-insert-在任意位置上添加一个元素
lst.insert(1,90)  # 在1位置上添加90这个元素
print(lst)
#切片-在任意的位置上添加N多个元素
lst3=[True,True,'hello']
lst[1:]=lst3    # 一个:时,默认step为1
print(lst)

53、列表元素的删除操作

remove--一次删除一个元素,重复元素只移除第一个
pop--删除一个指定索引位置上的元素
切片--一次至少删除一个元素
clear--清除列表
del--删除列表

##53、列表元素的删除操作
#remove--一次删除一个元素,
lst=[10,20,30,40,50,60,30]
lst.remove(30)  # 如果有重复元素只移除第一个
print(lst)
lst.pop(1)  #移除索引位置为1的元素
lst.pop()  # 不指定参数,则删除列表的最后一个元素
print(lst)
lst[1:3]=[]  # 切片对于删除的地方,用空列表替代
print(lst)
lst.clear()   # 清除列表中所有元素
print(lst)
del lst  # 直接删除lst这个列表对象
print(lst)

54、列表元素的修改操作

指定索引的元素赋予一个新值
指定一个切片内的元素赋予一个新值

lst=[10,20,30,40]
lst[2]=100  ## 针对一个位置修改
lst[1:3]=[100,200,300,400]  ##指定切片的位置修改,可以去掉两个元素,加上多个元素

55、列表元素的排序操作

调用sort()方法,默认从小打大,可以指定reverse=True,进行降序排序
默认函数sorted

lst=[50,10,20,30,40]
lst.sort()  # [10, 20, 30, 40, 50]
lst.sort(reverse=True)  # [50, 40, 30, 20, 10]
lst=sorted(lst,reverse=True) # 使用默认函数sorted对列表排序

56、列表生成式

列表生成式即产生列表的式子
语法格式
[ii for i in range(1,10)]
列表元素的表达式i
i 自定义变量i 可迭代对象range(1,10)

lst=[i for i in range(1,10)]
lst=[i*i for i in range(1,10)]
#列数中的元素的值为2,4,6,8,10
lst=[i*2 for i in range(1,6)]
image.png
上一篇下一篇

猜你喜欢

热点阅读