python初学者指南:列表

简介: python初学者指南:列表

1 初识列表


1.1 列表格式

[数据1, 数据2, 数据3, 数据4......]


列表可以一次性存储多个数据,且可以为不同数据类型。


1.2 列表的优点使用场景

优点1:异构性

列表里想装啥就装啥,即:他可以包含不同种类、任意类型的对象,甚至可以嵌套列表,专业点的词儿叫:异构性;


我们看一个例子:

L1 = [1, 2, 3, 4, 5]
L2 = [1, 'spam', [2.3, 4]]
L3 = []


看这三个列表的初始化过程,异构性就搞清楚了,特别是L2列表,它同时包含了好几种不同的数据类型,甚至还嵌套了列表。


优点2:有序性

列表里装的元素都是有顺序的,可以按照位置序号获取单个元素,也可以用分片的方法来进行多个连续元素的获取,来个专业词汇,叫做:有序性。


按位置序号索引,例如L1[2]这种方式来访问列表中的元素只是最简单的一种,我来重点来说说分片操作这个独特用法,先看看这个例子:

L = [1,2,3,4,5,6,7,8]
print(L[1:3])
[2, 3]


我们从列表L中从左往右截取了一个片段。关于截取片段左右边界与索引值的对应关系,我们只需记住这么一个口诀“左闭右开”就OK了:


分片索引中第一个参数1表示左侧开始的索引1(从0开始计数),因此起始的元素就是整形数2,第二个参数3表示在右侧终止的索引值为3,即整形数4,但要记住他是不包含在截取的序列中的。


**优点3:**本地可修改

列表的大小和内容可以随意改变,在插入、删除、修改列表元素时,不需要建立一份新的列表拷贝,而是在原来的内存地址上直接修改列表对象。这个叫“本地可修改”


首先看增加新元素的三个使用场景:

L = [1,2,3,4]
L.append(5)
print(L)
[1, 2, 3, 4, 5]
L = [1,2,3,4]
L.insert(1,10)
print(L)
[1, 10, 2, 3, 4]
L = [1,2,3,4]
L.extend([11,22,33])
print(L)
[1, 2, 3, 4, 11, 22, 33]


这三个用法有些不同,append方法只能在尾部加入;insert方法可在任意位置加入,比如上面例子,我们在列表的索引位置为1的地方加入元素10,如果指定的索引值大于序列的总长度,则自动加到末尾;extend方法则可以在尾部一次性加入多个元素


2 列表的常用操作


2.1 增加

增加指定数据到列表中。


1 append():

列表结尾追加数据,语法如下

列表序列.append(数据)


示例

name_list = ['Tom', 'Lily', 'Rose']
name_list.append('xiaoming')
# 结果:['Tom', 'Lily', 'Rose', 'xiaoming']
print(name_list)


列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。


如果append()追加的数据是一个序列,则追加整个序列到列表,注意和下面extend区分!

name_list = ['Tom', 'Lily', 'Rose']
name_list.append(['xiaoming', 'xiaohong'])
# 结果:['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']]
print(name_list)


2 extend():

列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表。语法如下:

列表序列.extend(数据)


单个数据

name_list = ['Tom', 'Lily', 'Rose']
name_list.extend('xiaoming')
# 结果:['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
print(name_list)


序列数据

name_list = ['Tom', 'Lily', 'Rose']
name_list.extend(['xiaoming', 'xiaohong'])
# 结果:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
print(name_list)


3 insert()

指定位置新增数据。语法如下

列表序列.insert(位置下标, 数据)


快速体验

name_list = ['Tom', 'Lily', 'Rose']
name_list.insert(1, 'xiaoming')
# 结果:['Tom', 'xiaoming', 'Lily', 'Rose']
print(name_list)


2.2 删除

1 del

del 目标


删除列表

name_list = ['Tom', 'Lily', 'Rose']
# 结果:报错提示:name 'name_list' is not defined
del name_list
print(name_list)


删除指定数据

name_list = ['Tom', 'Lily', 'Rose']
del name_list[0]
# 结果:['Lily', 'Rose']
print(name_list)


2 pop()


删除指定下标的数据(默认为最后一个),并返回该数据。

语法

列表序列.pop(下标)


快速体验

name_list = ['Tom', 'Lily', 'Rose']
del_name = name_list.pop(1)
# 结果:Lily
print(del_name)
# 结果:['Tom', 'Rose']
print(name_list)


3 remove()

移除列表中某个数据的第一个匹配项。

语法

列表序列.remove(数据)


快速体验

name_list = ['Tom', 'Lily', 'Rose']
name_list.remove('Rose')
# 结果:['Tom', 'Lily']
print(name_list)


4 clear()

清空列表

name_list = ['Tom', 'Lily', 'Rose']
name_list.clear()
print(name_list) # 结果: []


2.3 修改

1 修改指定下标数据

name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
# 结果:['aaa', 'Lily', 'Rose']
print(name_list)


2 逆置:reverse()

num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
# 结果:[8, 6, 3, 2, 5, 1]
print(num_list)


3 排序:sort()

语法

列表序列.sort( key=None, reverse=False)


注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

快速体验

num_list = [1, 5, 2, 3, 6, 8]
num_list.sort()
# 结果:[1, 2, 3, 5, 6, 8]
print(num_list)


2.4 查找

1 下标

name_list = ['Tom', 'Lily', 'Rose']
print(name_list[0])  # Tom
print(name_list[1])  # Lily
print(name_list[2])  # Rose


2 函数

index():返回指定数据所在位置的下标 。

语法

列表序列.index(数据, 开始位置下标, 结束位置下标)


快速体验

name_list = ['Tom', 'Lily', 'Rose']
print(name_list.index('Lily', 0, 2))  # 1


注意:如果查找的数据不存在则报错。

count():统计指定数据在当前列表中出现的次数。

name_list = ['Tom', 'Lily', 'Rose']
print(name_list.count('Lily'))  # 1


len():访问列表长度,即列表中数据的个数。

name_list = ['Tom', 'Lily', 'Rose']
print(len(name_list))  # 3


2.5 复制

函数:copy()

name_list = ['Tom', 'Lily', 'Rose']
name_li2 = name_list.copy()
# 结果:['Tom', 'Lily', 'Rose']
print(name_li2)


以上便是本篇文章全部内容,如果看到这里对您有些许帮助,希望可以得到您的三连支持!


相关链接:

Python中列表和字典有什么区别,分别适用于什么场景?

目录
相关文章
|
3月前
|
测试技术 数据处理 Python
Python列表推导式:简洁高效的数据处理利器
Python列表推导式:简洁高效的数据处理利器
228 80
|
2月前
|
测试技术 API 开发者
淘宝关键词搜索商品列表API接入指南(含Python示例)
淘宝关键词搜索商品列表API是淘宝开放平台的核心接口,支持通过关键词检索商品,适用于比价、选品、市场分析等场景。接口提供丰富的筛选与排序功能,返回结构化数据,含商品ID、标题、价格、销量等信息。开发者可使用Python调用,需注意频率限制与错误处理,建议先在沙箱环境测试。
|
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文件可通过不同平台播放或编辑。总结中提到,此技术可用于随机生成符合调性的旋律,同时引发对列表其他实际应用的思考。
95 5
|
5月前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
185 62
|
3月前
|
XML JSON API
深入研究: 亚马逊 amazon商品列表API接口 Python 攻略
本内容介绍了亚马逊商品列表API接口的应用价值与操作方法。在电商数据分析驱动决策的背景下,该接口可自动化获取商品基本信息(如名称、价格、评价等),助力市场调研、竞品分析及价格监控等场景。接口通过设置搜索条件(关键词、类目、价格范围等)筛选商品列表,以GET请求方式调用,返回JSON或XML格式数据,包含商品基本信息、价格、评价、图片链接及库存状态等内容。合理使用此接口可提升运营效率、降低人力成本并及时掌握市场动态。
|
3月前
|
JSON API 开发者
深入浅出:拼多多商品列表API接口Python攻略
拼多多是中国领先的社交电商平台,为开发者提供了丰富的API接口,用于集成商品数据到第三方应用。通过Python可以轻松调用这些API获取商品列表。主要步骤包括:1) 安装必要库(如`requests`);2) 使用AppKey和AppSecret获取访问令牌;3) 调用商品列表API,传入参数如商品ID、页码等;4) 解析返回的JSON数据提取所需信息。按照此流程,开发者能够快速实现与拼多多平台的数据交互。
|
5月前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
109 20

热门文章

最新文章

推荐镜像

更多