Python 列表

简介: 它包含多个值构成的序列。术语“列表值”指的是列表本身(它作为一个值,可以保存在变量中,或传递给函数,像所有其他值一样),而不是指列表值之内的那些值。列表值看起来像这样:[‘apple’, ‘banana’, ‘orange’, ‘watermelon’]。就像字符串值用引号来标记字符串的起止一样,。列表中的值也称为“表项”。表项用(就是说,它们是“逗号分隔的”)。列表的长度和内容都是,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:Python 列表
更多内容请见👇

列表是一个值,它包含多个值构成的序列。术语“列表值”指的是列表本身(它作为一个值,可以保存在变量中,或传递给函数,像所有其他值一样),而不是指列表值之内的那些值。

列表值看起来像这样:['apple', 'banana', 'orange', 'watermelon']

就像字符串值用引号来标记字符串的起止一样,列表用左方括号开始,右方括号结束,即[ ]。列表中的值也称为“表项”。表项用逗号分隔(就是说,它们是“逗号分隔的”)。

列表的长度和内容都是可变的,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。

由于列表属于序列类型,所以列表也支持成员关系操作符(in)、长度计算函数(len())、切片([])。

列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(<<===!=>=>)进行比较,列表的比较实际上是单个数据项的逐个比较。

列表的常用操作:

函数或方法 描述
ls[i] = x 替换列表ls第i数据项为x
ls[i: j] = lt 用列表lt替换列表ls中第i到j项数据(不含第j项,下同)
ls[i: j: k] = lt 用列表lt替换列表ls中第i到j以k为步的数据
del ls[i: j] 删除列表ls第i到j项数据,等价于ls[i: j]=[]
del ls[i: j: k] 删除列表ls第i到j以k为步的数据
ls += ltls.extend(lt) 将列表lt元素增加到列表ls中
ls *= n 更新列表ls,其元素重复n次
ls.append(x) 在列表ls最后增加一个元素x
ls.clear() 删除ls中所有元素
ls.copy() 生成一个新列表,复制ls中所有元素
ls.insert(i, x) 在列表ls第i位置增加元素x
ls.pop(i) 将列表ls中第i项元素取出并删除该元素
ls.remove(x) 将列表中出现的第一个元素x删除
ls.reverse(x) 列表ls中元素反转
ls.index(x) 找出某个值第一个匹配项的索引位置

1.创建列表

在Python中,通常用 list()函数或方括号 []来创建列表:

1.1 list 函数

print(list('Python', 'Java', 'C'))
参数可以是字符串、元组、字典或者集合。但不能是整数、浮点数或者布尔值。

1.2 方括号

使用方括号 []创建列表时,需要在列表中列出所有元素:
print(['Python', 'Java', 'C'])

1.3 空列表

可以使用 list()函数和方括号 []创建空列表:
print(list())
print([])
列表也可以包含其他列表值。这些列表中的列表中的值,可以通过多重下标来访问,像这样:
ls = ['apple', 'banana', ['Python', 'Java', 'C']]
print(ls[2][-2])

2.列表基本操作

由于 列表是可变的, 因此列表有些专用的方法: 元素修改、元素删除和切片赋值。这些方法都是在列表原位置进行修改,也就是改变了列 表本身的值,而不是创建新的列表。

2.1 元素修改

在列表创建后,可以通过元素赋值的方式修改列表中的元素。一般情况下,赋值语句左边是一个变量名,就像Pi = 3.14。但是,也可以使用列表的下标来改变下标处的值:
ls = ['apple', 'banana']
ls[1] = 'orange'
print(ls)

2.2 元素删除

可以使用 Python 的内置函数 del 删除列表中的一个或多个元素:
ls = ['apple', 'banana', 'orange']
del ls[1]
print(ls)

2.3 切片赋值

Python 支持列表的分片赋值, 这使得仅仅用一步操作就可以将列表中的整个片段替换掉:
ls = ['apple', 'banana', 'orange']
ls[1:] = ['Python', 'Java']
print(ls)
当使用一个列表改变另一个列表值时,Python 不要求两个列表长度一样,但遵循“ 多增少减”的原则。利用这个特性,可以通过分片赋值实现列表元素的删除和插入:
ls = ['apple', 'banana', 'orange']
ls[1:] = []
print(ls)

2.4 多重赋值

多重赋值是一种快捷方式,让你在一行代码中,用列表中的值为多个变量赋值:
ls = ['apple', 'banana', 'orange']
apple, banana, orange = ls
print(apple, banana, orange, sep='\n')

3.列表常用方法

3.1 extend()

使用 extend()方法, 可以一次在列表的末端插入多个元素。 这是一个对列表进行原地修改的方法。
ls1 = ['apple', 'banana', 'orange']
ls2 = ['Python', 'Java', 'C']
ls1.extend(ls2)
print(ls1)
也可以使用 +=
ls1 = ['apple', 'banana', 'orange']
ls2 = ['Python', 'Java', 'C']
ls1 += ls2
print(ls1)

3.2 append()

append()方法与 extend()类似,也可以在列表末端添加元素。 不同的是,使用 append()方 法会直接把传入的参数(可以是任何类型)添加到尾部而不是遍历它:
ls1 = ['apple', 'banana', 'orange']
ls2 = ['Python', 'Java', 'C']
ls1.append(ls2)
print(ls1)

3.3 pop()

使用 pop()方法可以移除并返回指定列表中某个位置的元素。 pop()方法通过唯一的参数 指定需要移除并返回元素的位置,如果不指定,默认移除并返回最后一个元素:
ls = ['apple', 'banana', 'orange']
print(ls.pop(0))
print(ls)

3.4 copy()

copy()方法会生成一个新的列表,复制调用者的所有元素:
ls = ['apple', 'banana', 'orange']
a = ls.copy()
print(ls)
print(a)
有的人可能会问,这么做有什么意义呢?为什么不直接将 ls 赋值给 a 呢?让我们先看一个实例:
ls = ['apple', 'banana', 'orange']
a = ls
ls.append('Python')
print(ls)
print(a)
a.append('Java')
print(ls)
print(a)
可以看出,这里的 lsa 其实是同一个列表,这与 Python 自身的机制有关,当我们将一个列表赋值给另一个列表时其实并不是将列表中的内容赋值过去了,而是将原先列表的引用给赋值过去了,这就导致 lsa 其实是同一个列表的两个不同的名字,使用 copy()则能够使其分成两个独立的列表:
ls = ['apple', 'banana', 'orange']
a = ls.copy()
ls.append('Python')
print(ls)
print(a)
a.append('Java')
print(ls)
print(a)

3.5 sort()

数值的列表或字符串的列表,能用 sort()方法排序。 sort()方法当场对列表排序:
ls = ['0001', '9876', '5432']
ls.sort()
# 默认升序排列
print(ls)
也可以指定 reverse关键字参数为 True,让 sort()按逆序排序:
ls = ['0001', '9876', '5432']
ls.sort(reverse=True)
print(ls)
不能对既有数字又有字符串值的列表排序,因为 Python 不知道如何比较它们。

sort()方法对字符串排序时,使用“ASCII 字符顺序”,而不是实际的字典顺序。这意味着大写字母排在小写字母之前。因此在排序时,小写的a在大写的Z之后:

ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.sort()
print(ls)
sort()方法有一个 key的关键字参数,可以指定排序方法,例如:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.sort(key=len)
# 按长度排序
print(ls)

3.6 其他常用方法

通过 insert()方法可以将元素插入列表指定的位置, insert()需要两个参数, 第 1 个参数指定需要插入的位置, 第 2 个参数指定需要插入的元素:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.insert(2, 'JavaScript')
print(ls)
通过 clear()方法可以清空列表中的所有元素:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.clear()
print(ls)
通过 remove()方法可以移除列表中的某个元素, 当元素在列表中重复出现时, 仅移除 第 1 次出现的值:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C']
ls.remove('C')
print(ls)
通过 reverse()方法可以将列表中的元素反向存储:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.reverse()
print(ls)
通过 index()方法找出列表某个值第一个匹配项的索引位置:
ls = ['Python', 'Java', 'C', 'Golang', 'C++', 'C#']
ls.index('C++')
print(ls)
目录
相关文章
|
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

热门文章

最新文章

推荐镜像

更多