栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第六章:Python的列表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第六章:Python的列表

一、列表的定义 二、列表的两种创建方式 三、列表的增删改 四、列表的排序操作 五、列表生成式 注:该文章为自己所写笔记,心得;不一定对每一位程序猿有所帮助
一、列表的定义


变量只能装载一个元素,而列表等同一个箱子能装多个同样或者不同的元素


变量存储的是单个的type,id,value(一个对象的引用)
列表存储的是多个对象的引用

lst=['ab','cd',12]


包含的是列表的id,type和lst的值


二、列表的两种创建方式


第一种:利用[ ]包含他创建

lst=['abcd']
lst=['ab','cd']

列表在[ ]中的元素需要用,进行间隔
第二种:利用list()函数进行创建

AE86=list(['周杰伦','藤原拓海','86'])
print(type,'AE86')


列表命名的规则与变量命名规则一致
列表的特点

1、列表排列是根据存储内部元素由左到右排序(括号内),不能插空,一个接一个
2、列表的元素是通过索引获取

 

lst=['hello','world','123','95.6','world','125','world']
print(list,[0])#hello的位置
print (list,[-1])#world的位置

3,列表可以存储同样的元素

4、任意类型数据混存

5、根据动态需要回收内存

(不用担心列表的存储量的多和少)
列表的查询操作
获取指定元素

1)有相同元素查找
 

lst=['hello','world','123','hello']
print(lst.index('hello'))#如果列表中有相同的元素,只获取列表中第一个元素的索引
#index(获取索引)置'

2)列表元素不存在则会输出value
不能获取到列表里没有的元素(都没有怎么可能查到)

3)可以进行区间查找
 

lst=['hello','world','123','hello',]
print(lst.index('123',1,3))#123
print(lst.index('123',0,1))#123
#hello为0开始,如果查找范围没有也会输出错误
2、获取单个元素
lst=['hello','world','86','hello','world','86']
print(lst[2])#正向获取索引2的元素
print(lst[-2])#负向索引
#print(lst[22])#不存在索引位置的元素,输出inddxError

3、获取列表多个元素

lst=[0,20,30,40,50,60,70,80,90]
print('整个列表',id(lst))
lst2=lst[0:3:1]#lst2从lst切出0-3之间的元素
print('切片内容',id(lst2))
print(lst2)#[0, 20, 30]
lst3=lst[0:3]#第一种默认步长
lst4=(lst[0:3])#第二种默认步长
lst5=lst[:3:1]#默认切片开始位置
lst5=lst[:3:2]#默认切片开始位置 每两个元素切一个(步长)
lst6=lst[::-1]#默认起点和结束,由最后开始往前切
lst7=lst[7::-1]#从80开始往回数,[80, 70, 60, 50, 40, 30, 20, 0]
print(lst2, lst3,lst4,lst5,lst6,'a',lst7)

列表元素的判断及遍历

lst=[0,20,30,40,50,60,70,80,90]
print(80 in lst)#80是存在的所以true
print(100 in lst)#100不存在所以FALSE
print(100 not in lst)#100不存在在lst列表里 这句话是对的 所以True
#列表可以和变量一样作为判断和查询
for i in lst:
    print(i)
三、列表的增删改 列表的增加操作

append():单个添加(添加进去的视为一个元素)

lst=[0,20,30,40,50,60,70,80,90]
lst.append(100)#列表的末尾进行添加操作
print(lst)#[0, 20, 30, 40, 50, 60, 70, 80, 90, 100]id标识不变,type类型不变,变得是value的值

lst2=['GTR']
lst.append(lst2)#把lst3作为一个元素添加[0, 20, 30, 40, 50, 60, 70, 80, 90, 100, ['GTR']]
print(lst)

extend():多个添加

lst=[0,20,30,40,50,60,70,80,90]
lst2=['AE86']
lst.extend(lst2)
print(lst)#一个一个添加进去,把他们将其合并一起[0, 20, 30, 40, 50, 60, 70, 80, 90, 100, 'AE86']

insert():任意位置添加

lst=[0,20,30,40,50,60,70,80,90]
lst2=['AE86','GTR']
lst.insert(4,50)#在第四个位置添加50
print(lst)

切片:任意位置添加元素

lst=[0,20,30,40,50,60,70,80,90]
lst3=['AE86','ata','X8']
lst[1:]=lst3#切掉第一个数后面的形成lst3
print(lst)#[30, ['AE86', 'ata', 'X8'], 40, 50, 60, 70, 80, 90]lst3

列表的删除操作

 remove():移除一个元素

lst=[0,20,80,30,40,50,60,70,80,90]
#lst.remove(90)lst列表中移除一个元素(80)
lst.remove(80)#存在相同元素 移除第一个[0, 20, 30, 40, 50, 60, 70, 80, 90]
print(lst)

pop():移除制定位置元素

lst=[0,20,80,30,40,50,60,70,80,90]
lst.pop(1)#移除一号位置上的元素
print(lst)#[0, 80, 30, 40, 50, 60, 70, 80, 90]
lst=[0,20,80,30,40,50,60,70,80,90]
lst.pop()#不指定参数,默认移除最后一个
print(lst)#[0, 20, 80, 30, 40, 50, 60, 70, 80]

切片:至少删除一个元素,但是会产生新的列表对象

lst=[0,20,80,30,40,50,60,70,80,90]
lst2=lst[3:6]#保留3-6位置,其余删除
print(lst2)#[30, 40, 50]
lst[3:6]=[]#删除3-6
print(lst)#[0, 20, 80, 60, 70, 80, 90]

clear():清空

lst=[0,20,80,30,40,50,60,70,80,90]
lst.clear()#清空列表元素
print(lst)#输出[]

del():直接删除列表

lst=[0,20,80,30,40,50,60,70,80,90]
del lst#删除整个列表
print(lst)#NameError: name 'lst' is not defined
列表元素的改

为指定元素赋予新元素值

lst=[0,20,80,30,40,50,60,70,80,90]
lst[2]=25#修改第二个位置的元素为25
print(lst)#[0, 20, 25, 30, 40, 50, 60, 70, 80, 90]

将切片区域赋予新的元素

lst=[0,20,80,40,50,60,70,80,90]
lst[1:4]=[200,800]#修改1-4位置的元素为200,800
print(lst)#[0, 200, 800, 50, 60, 70, 80, 90]
四、列表的排序操作

 sort():利用True和FALSE进行升降

lst=[10,70,80,50,40,90,60,0,20]
lst.sort()#排序
print('升序',lst)#输出[0, 10, 20, 40, 50, 60, 70, 80, 90]
#排序是在原列表上进行
lst.sort(reverse=True)
print('降序',lst)#[90, 80, 70, 60, 50, 40, 20, 10, 0]
lst.sort(reverse=True)
print('升序',lst)#升序 [90, 80, 70, 60, 50, 40, 20, 10, 0]

sorted():

lst=[10,70,80,50,40,90,60,0,20]
new_list=sorted(lst)
print(lst)#lst不变[10, 70, 80, 50, 40, 90, 60, 0, 20]
print(new_list)#一个新的排序[0, 10, 20, 40, 50, 60, 70, 80, 90]

sencond=sorted(lst,reverse=True)#与上同理
print(sencond)#[90, 80, 70, 60, 50, 40, 20, 10, 0]
五、列表生成式

 

lst=[i for i in range(1,9)]#第一个i可以自定义表达式,第二个i可以自定义变量
print(lst)#[1, 2, 3, 4, 5, 6, 7, 8]
lst=[i*2 for i in range(1,9)]
print(lst)#[2, 4, 6, 8, 10, 12, 14, 16]
lst=[i*i for i in range(1,9)]
print(lst)#[1, 4, 9, 16, 25, 36, 49, 64]
lst=[i%2 for i in range(50,100)]
print(lst)#[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号