python学习5-列表的创建、增删改查、排序

简介: python学习5-列表的创建、增删改查、排序

一、列表的创建方式

1、使用中括号
lst=['hello','world',98]
2、调用内置函数list()
lst2=list(["hello",'world',98])

二、列表的特点

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

三、列表的查询操作

1、获取列表中指定元素的索引 index()
#如果查找列表中有N个相同元素,只返回相同元素中的第一个元素的索引
lst=['hello','world',98,'hello']
print(lst.index('hello'))
#如果查询的元素在列表中不存在,则会抛出ValueError
print(lst.index('python'))
#还可以在指定的start和stop之间进行查找
print(lst.index('hello',1,3))  #ValueError: 'hello' is not in list   "world",98
print(lst.index("hello",1,4))   #"world",98,"hello"
2、获取列表中的单个元素
#正向索引从0~N-1  逆向索引从-N到-1 指定索引不存在,抛出IndexError
lst2=['hello','world',98,'hello','world',234]
#获取索引为2的元素
print(lst[2])
print(lst2[-4])
#获取索引为10的元素
print(lst2[10])  #IndexError: list index out of range
3、获取列表中的多个元素_切片操作 语法格式 列表名[start:stop:step]
  • step为正数
lst=[10,20,30,40,50,60]
print("原列表:",id(lst)) #1713813270848
lst2=lst[1:6:1]
print("切的片段:",id(lst2)) #1713808072640  切出来的是新的列表对象
print(lst[1:6])  #[20, 30, 40, 50, 60] 默认步长为1
print(lst[1:6:]) #也代表步长为1
  • step为负数
    切片的第一个元素默认是列表的最后一个元素
print(lst[::-1])  #[60, 50, 40, 30, 20, 10]
print(lst[6:0:-1]) #[60, 50, 40, 30, 20] 需要注意:stop的项是到此结束,但是不包括此项
4、判断指定元素在列表中是否存在 in/not in
print(10 in lst) #True
print("y" in lst) #False
5、列表元素的遍历 for…in
for item in lst:
    print(item)

四、列表元素的增加操作

1、append() 在列表的末尾添加一个元素
print("添加之前:",lst)  #[10, 20, 30, 40, 50, 60]
print(id(lst))
lst.append(100)
print("添加之后:",lst)  #[10, 20, 30, 40, 50, 60, 100]
print(id(lst))   #id相同,说明是同一个列表对象
2、extend() 在列表的末尾至少添加一个元素
lst2=['hello','world']
lst.append(lst2)   #不能将它直接print,它必须单独的写 [10, 20, 30, 40, 50, 60, 100, ['hello', 'world']]
lst.extend(lst2)   #[10, 20, 30, 40, 50, 60, 100, 'hello', 'world']
3、insert() 在列表的任意位置添加一个元素
lst.insert(1,90)  #在索引为1的位置上插入90这个元素 [10, 90, 20, 30, 40, 50, 60, 100, 'hello', 'world']
4、切片 在列表的任意位置添加至少一个元素 本质是替换
lst3=[True,False,'python']
lst[1:]=lst3 #[10, True, False, 'python']  从索引1开始之后的所有元素用新的列表元素替换

五、列表元素的删除操作(前四个是删除元素,最后一个del是删除列表)

1、remove() 一次删除一个元素,重复元素只删除第一个,元素不存在抛出ValueError
lst4=[10,20,30,40,50,20]
lst4.remove(10)   #[20, 30, 40, 50]
lst4.remove(100) #ValueError: list.remove(x): x not in list
lst4.remove(20) #[10, 30, 40, 50, 20]
2、pop() 删除一个指定索引位置上的元素,指定索引不存在抛出IndexError,不指定索引删除列表中最后一个元素
lst4.pop(1) #[10, 40, 50, 20]
lst4.pop(10) #IndexError: pop index out of range
lst4.pop() #[10, 30, 40, 50]
3、切片 一次至少删除一个元素,将产生一个新的列表对象
new_list=lst4[1:3]
print("切片前的列表:",lst4) #[10, 30, 40, 50]
print("切片后的列表:",new_list)  #[30, 40]
#不产生新的列表对象,而是删除原列表中的内容 本质是替换
lst4[1:3]=[]   #[10, 50] 把从索引1-2用空元素代替,相当于将中间部分切除
4、clear() 清空列表的所有元素
lst4.clear() #[]
5、del 删除列表 将列表对象删除
del lst4  #NameError: name 'lst4' is not defined

六、列表元素的修改操作

1、为指定索引的元素赋予一个新值
lst=[10,20,30,40]
lst[2]=100  #[10, 20, 100, 40]
2、为指定的切片赋予一个新值,修改多值
lst[1:3]=[100,200,300,400]   #[10, 100, 200, 300, 400, 40]

七、列表的排序操作(两种,sort()方法在原列表上改变,sorted()方法产生新的列表对象)

1、使用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序排序
lst=[20,40,10,98,34]
print("排序前的列表:",lst)   #[20, 40, 10, 98, 34]
lst.sort()
print("排序后的列表:",lst)   #[10, 20, 34, 40, 98]  id相同,是在原列表的基础上进行的
lst.sort(reverse=True)   #reverse=True表示降序排序,reverse=False表示升序排序,默认是升序排序
print(lst) #[98, 40, 34, 20, 10]
2、调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变(产生新的列表对象)
new_list=sorted(lst)
print(new_list)  #[10, 20, 34, 40, 98]
desc_list=sorted(lst,reverse=True)
print(desc_list) #[98, 40, 34, 20, 10]

八、列表生成式

lst=[i for i in range(1,10)]
print(lst)  #[1, 2, 3, 4, 5, 6, 7, 8, 9]
lst=[i*i for i in range(1,10)]  #表示列表元素的表达式中通常包含自定义变量,表示列表元素的表达式:i*i
print(lst)  #[1, 4, 9, 16, 25, 36, 49, 64, 81]
lst2=[i*2 for i in range(1,6)]
print(lst2) #[2, 4, 6, 8, 10]
相关文章
|
3月前
|
测试技术 数据处理 Python
Python列表推导式:简洁高效的数据处理利器
Python列表推导式:简洁高效的数据处理利器
216 80
|
2月前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
178 57
|
2月前
|
测试技术 API 开发者
淘宝关键词搜索商品列表API接入指南(含Python示例)
淘宝关键词搜索商品列表API是淘宝开放平台的核心接口,支持通过关键词检索商品,适用于比价、选品、市场分析等场景。接口提供丰富的筛选与排序功能,返回结构化数据,含商品ID、标题、价格、销量等信息。开发者可使用Python调用,需注意频率限制与错误处理,建议先在沙箱环境测试。
|
2月前
|
JSON 数据安全/隐私保护 数据格式
拼多多批量下单软件,拼多多无限账号下单软件,python框架仅供学习参考
完整的拼多多自动化下单框架,包含登录、搜索商品、获取商品列表、下单等功能。
|
2月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
2月前
|
JSON 数据挖掘 API
闲鱼商品列表API响应数据python解析
闲鱼商品列表API(Goodfish.item_list)提供标准化数据接口,支持GET请求,返回商品标题、价格、图片、卖家信息等。适用于电商比价、数据分析,支持多语言调用,附Python示例代码,便于开发者快速集成。
|
2月前
|
JSON API 数据格式
微店商品列表API响应数据python解析
微店商品列表API为开发者提供稳定高效获取商品信息的途径,支持HTTP GET/POST请求,返回JSON格式数据,含商品ID、名称、价格、库存等字段,适用于电商数据分析与展示平台搭建等场景。本文提供Python调用示例,助您快速上手。
|
3月前
|
人工智能 索引 Python
[oeasy]python094_使用python控制音符列表_midi_文件制作
本文介绍了如何使用Python控制音符列表制作MIDI文件。首先回顾了列表下标索引(正数和负数)的用法,接着通过`mido`库实现MIDI文件生成。以《两只老虎》为例,详细解析了代码逻辑:定义音高映射、构建旋律列表、创建MIDI文件框架,并将音符插入音轨。还探讨了音符时值与八度扩展的实现方法。最终生成的MIDI文件可通过不同平台播放或编辑。总结中提到,此技术可用于随机生成符合调性的旋律,同时引发对列表其他实际应用的思考。
81 5
|
3月前
|
XML JSON API
深入研究: 亚马逊 amazon商品列表API接口 Python 攻略
本内容介绍了亚马逊商品列表API接口的应用价值与操作方法。在电商数据分析驱动决策的背景下,该接口可自动化获取商品基本信息(如名称、价格、评价等),助力市场调研、竞品分析及价格监控等场景。接口通过设置搜索条件(关键词、类目、价格范围等)筛选商品列表,以GET请求方式调用,返回JSON或XML格式数据,包含商品基本信息、价格、评价、图片链接及库存状态等内容。合理使用此接口可提升运营效率、降低人力成本并及时掌握市场动态。

热门文章

最新文章

推荐镜像

更多