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

Python列表六

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

Python列表六

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

列表的创建:使用方括号[];使用内置函数list()

list1 = ['Google', "d", 1997]
lis2=list(['Google', "d", 1997])
#三个对象的引用(id)存储在三个连续的空间(列表对象),列表对象的引用(id)存储在list

 列表中元素按顺序有序排列

 列表索引从 0 开始,第二个索引是 1,依此类推。

#查元素索引
list=['hello','word',98,'hello'] #相同元素则返回相同元素的第一个元素索引
print(list.index('hello'))
>>>0

print(list.index('hello',1,4)) #从'word',98,'hello'中查找
>>>3

print( list[0] ) >>>hello
print( list[1] ) >>>word

切片操作 

 正负数切片操作:

list= [10, 20, 30, 40, 50, 60, 70, 80]
print( list[1:6:1] ) #[20, 30, 40, 50, 60]
print( list[1:6:] ) #默认步长为1
print( list[1:6:2] ) #[20, 40, 60]
print( list[:6:2] )  #默认从0开始 [10, 30, 50]
print( list[1::2] )  #默认 [20, 40, 60, 80]

#为负数的情况
print( list[::-1] ) #逆序输出[80, 70, 60, 50, 40, 30, 20, 10]
print( list[7::-1] )
print( list[6:0:-2] ) #[70, 50, 30] step为负数时,stop=0则不包含下标为0元素 左闭右开

列表元素的判断及遍历

#判断元素是否在列表中:元素 in/not in 列表名
#遍历 for 迭代变量 in 列表名

#判断元素是否在列表中:元素 in/not in 列表名
#遍历 for 迭代变量 in 列表名
list= [10, 20, 'hello']
for i in list:
    print(i) #从列表当中依次去取出元素对象赋值给i并依次输出
>>>10 
20
hello

列表元素的添加操作

append():在列表的末尾添加一个元素

extend():在列表的末尾至少添加一个元素

insert():在列表的任意位置添加一个元素

切片:在列表的任意位置添加至少一个元素

#列表元素的添加操作
lst1=[10,20,30]
lst1.append(99)
print(lst1) #[10, 20, 30, 99]

lst2=['hello','word']
#lst1.append(list2) #[10, 20, 30, 99, ['hello', 'word']] 将list2作为一个元素添加到末尾
#list1.extend(list2) #[10, 20, 30, 99, 'hello', 'word'] 向列表末尾一次性添加多个元素

#在任意位置上添加一个元素
lst1.insert(1,66) #在索引为1的位置添加元素
print(lst1)  #[10, 66, 20, 30, 99]

lst3=['西瓜','水蜜桃','草莓']
#切片:在列表的任意位置添加n个元素
lst1[1:]=lst3
print(lst1) #[10, '西瓜', '水蜜桃', '草莓']

列表元素的删除操作 

#列表元素的删除操作
lst=[10,20,30,40,50,60,30]
lst.remove(30) #一次删除一个元素,重复元素只删除第一个,元素不存在则会报错
print(lst) #[10, 20, 40, 50, 60, 30]

lst.pop(1) #删除一个指定索引位置上的元素
print(lst) #[10, 40, 50, 60, 30]
lst.pop() #不指定索引,删除列表中最后一个元素
print(lst) #[10, 40, 50, 60]

#切片 删除至少一个元素,将产生一个新的列表对象
new_lst=lst[1:3]
print('原列表:',lst) #[10, 40, 50, 60]
print('新列表:',new_lst) #新列表: [40, 50]
#不产生新的列表对象,删除原列表中的内容
lst[1:3]=[]
print(lst) #[10, 60]

#清空列表中的所有元素
#clear清空列表
lst.clear()
print(lst) #[]
#del 删除列表
del lst
print(lst)  #...not defined

列表元素的修改操作 

#列表修改
lst=[10,20,30,40]
lst[1]=100 #一次修改一个值(为指定索引的元素赋予一个新的值)
print(lst) #[10, 100, 30, 40]
lst[1:3]=[200,300,400,500,600] #步长默认为1(为指定的切片赋予一个新的值)
print(lst) #[10, 200, 300, 400, 500, 600, 40]

列表元素的排序操作 

  • 调用列表对象的sort方法,升序排列,可以指定reverse=True 进行降序
  • 调用内置函数sorted(),可以指定reverse=True 进行降序,原列表不发生改变
#列表元素的排序
lst=[10,90,58,40]
print('排序前的列表:',id(lst)) 
#调用列表对象的sort方法,升序排列(对原列表进行的排序操作)
lst.sort()
print('排序后的列表:',lst,id(lst)) #id没变,在原列表的基础上进行

#通过指定关键字参数,进行降序排列
lst.sort(reverse=True) #reverse=True 表示降序排列,reverse=False 就是升序排列
print(lst)

#使用内置函数sorted()对列表进行排序,将产生一个新的列表对象(原列表不发生任何改变)
lst=[10,90,58,40]
#开始排序
new_lst=sorted(lst)
#print(new_lst) #[90, 58, 40, 10]
#指定关键字参数,实现列表元素的降序排列
desc_lst=sorted(lst,reverse=True)
print(desc_lst) #[90, 58, 40, 10]

列表生成式 

#列表元素的表达式
lst=[i*i for i in range(1,10)] #产生的1-9的整数序列
print(lst) #[1, 4, 9, 16, 25, 36, 49, 64, 81]
#列表中的值为2,4,6,8,10
lst2=[i*2 for i in range(1,6)]
print(lst2)

​​​​​​​

 

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

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

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