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

Python列表

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

Python列表

目录

一、列表的创建与删除

1.1 列表的创建

二、列表的查询操作

2.1 获取列表中指定元素的索引

2.2 获取列表中的单个元素

2.3 获取列表中的多个元素 

2.4 列表元素的判断

2.5 列表元素的遍历

三、列表元素的增、删、改操作

3.1 列表元素的增加

3.2 列表元素的删除

3.3 列表元素的修改

四、列表元素的排序

五、列表生成式


  • 变量可以存储一个元素,而列表可以存储 N 多个元素,程序可以方便地对这些数据进行整体操作
  • 列表相当于其它语言中的数组,不同的是列表可以存储不同类型的数据

一、列表的创建与删除

1.1 列表的创建
  • 使用中括号[]

  • 调用内置函数list()
lst1=['hello','hi',88]
print(type(list1))
print(list1)

lst2=list(['hello','hi',88])
print(type(list2))
print(list2)

运行结果

  

二、列表的查询操作

2.1 获取列表中指定元素的索引

列表名.index(x)

  • 若列表中存在 N 个相同元素,只返回相同元素中第一个元素的索引
  • 还可以在指定的 start 和 stop 之间进行查找:.index(x,start,stop)    其中 stop 可省略
  • 若查询的指定元素在列表中不存在,则抛出 ValueError

注意:索引号从0开始(列表中的第一个元素索引号为0)

lst=['hello','hi','hey','hi',33]
print(lst.index('hi'))
print(lst.index('hi',2))

运行结果

2.2 获取列表中的单个元素

列表名[n]

  • 列表的两种索引方式
    • 正向索引:从 0 到 N-1
    • 逆向索引:从 -N 到 -1
  • 若查询的指定索引在列表中不存在,则抛出 IndexError
lst=['hello','hi','hey','hi',33]
print(lst[2])
print(lst[-3])

运行结果

2.3 获取列表中的多个元素 

列表名[start:stop:step]

切片操作

  • 切片的结果:原列表片段的拷贝
  • 切片的范围:[ start , stop )
  • step 默认为1:简写为 [start:stop]
  • step 为正数:从 start 开始往后计算切片
    • [:stop:step]:切片的第一个元素默认是列表的第一个元素
    • [start::step]:切片的最后一个元素默认是列表的最后一个元素
  • step 为负数:从 start 开始往前计算切片
    • [:stop:step]:切片的第一个元素默认是列表的最后一个元素
    • [start::step]:切片的最后一个元素默认是列表的第一个元素 
lst=['a1','a2','a3','a4','a5','a6','a7','a8','a9']
print('原列表:',lst)
print('lst[::]',lst[::])
print('lst[2:8]',lst[1:8])
# step为正数
print('lst[:7:2]',lst[:7:2])
print('lst[2::2]',lst[2::2])
# step为负数
print('lst[:2:-3]',lst[:2:-3])
print('lst[7::-2]',lst[7::-2])

运行结果

2.4 列表元素的判断

元素 in 列表名

元素 not in 列表名

2.5 列表元素的遍历

for 迭代变量 in 列表名:

        循环体

lst=['a1','a2','a3']
for i in lst:
    print(i)

运行结果

三、列表元素的增、删、改操作

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

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

lst=['a1','a2','a3']
print('添加元素之前:',lst,id(lst))

lst.append(100)
print('末尾添加1个元素:',lst,id(lst))
lst1=['hi','hello']
lst.append(lst1)
print('末尾添加1个元素:',lst,id(lst))

lst.extend(lst1)
print('末尾添加多个元素:',lst,id(lst))

运行结果

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

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

lst=['a1','a2','a3','a4']
print('插入元素之前:',lst,id(lst))
lst.insert(2,100)
print('插入1个元素:',lst,id(lst))

lst=['a1','a2','a3','a4']
print('插入元素之前:',lst,id(lst))
lst1=[True,'abandon']
lst[1::]=lst1
print('切片插入多个元素:',lst,id(lst))

lst=['a1','a2','a3','a4']
print('插入元素之前:',lst,id(lst))
lst[0::2]=lst1
print('切片插入多个元素:',lst,id(lst))

运行结果

3.2 列表元素的删除
  • remove()
    • 一次删除一个元素
    • 重复元素只删除第一个
    • 若元素不存在抛出ValueError
lst=[10,20,30,40,40,50,60,70,80]
print(lst)

lst.remove(20)
print(lst)

lst.remove(40)
print(lst)

运行结果

  • pop()
    • 删除一个指定索引位置上的元素
    • 若不指定索引则删除列表最后一个元素
    • 若指定索引不存在抛出IndexError
lst=[10,20,30,40,40,50,60,70,80]
print(lst)

lst.pop(1)
print(lst)

lst.pop()
print(lst)

运行结果

  • 切片
    • 一次至少删除一个元素
'''方式1:产生一个新的列表对象'''
lst=[10,20,30,40,40,50,60,70,80]
print('原列表',lst,id(lst))
lst1=lst[1:4]
print('切片后的列表',lst1,id(lst1))

'''方式2:删除原列表内容,不产生新列表对象'''
lst=[10,20,30,40,40,50,60,70,80]
print('原列表',lst,id(lst))
lst[1:5]=[]
print('切片后的列表',lst,id(lst))

运行结果

  • clear()
    • 清空列表
  • del
    • 删除列表
lst=[10,20,30,40,40,50,60,70,80]
print('原列表:',lst)
lst.clear()
print('清空后的列表:',lst)

lst=[10,20,30,40,40,50,60,70,80]
print('原列表:',lst)
del lst
print(lst)

运行结果

 

3.3 列表元素的修改
lst=[10,20,30,40,50]
print(lst)

# 一次修改一个值
lst[3]='A'
print(lst)

# 一次修改多个值
lst[1:3]=['a','b','c']
print(lst)

运行结果

四、列表元素的排序
  • .sort()
    • 调用sort()方法,列表中所有元素默认按照从大到小的顺序进行排序,也可以指定reverse=True,降序排序;reverse=False,升序排序。
    • 原列表改变,不新建列表
lst=[10,33,9,100,64]
print('排序前的列表:',lst,id(lst))
lst.sort()
print('默认排序后的列表:',lst,id(lst))
lst.sort(reverse=True)
print('降序排序后的列表:',lst,id(lst))

运行结果

  • sorted()
    • 调用内置函数sorted(),列表中所有元素默认按照从大到小的顺序进行排序,也可以指定reverse=True,降序排序;reverse=False,升序排序。
    • 原列表顺序不变,新建排序后的列表
lst=[10,33,9,100,64]
print('排序前的列表:',lst,id(lst))
new_lst=sorted(lst)
print('默认排序后的列表:',new_lst,id(new_lst))
new_lst1=sorted(lst,reverse=True)
print('降序排序后的列表:',new_lst1,id(new_lst1))

运行结果

五、列表生成式

即生成列表的公式

[ 列表元素的表达式 for 自定义变量 in range(n,m) ]

  • 注意:“列表元素的表达式”中通常包含自定义变量
lst=[ i*i for i in range(1,10)]
print(lst)

运行结果


Flag:我要成为一个日更选手:)

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

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

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