Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-list.html

Python 列表 list 详解


Python 的列表是一种有序、可变、可重复元素的数据结构,通常用于存储一组数据项。它顺序地存放元素在类似数组的数据结构里,它同时也可以存储不同数据类型的元素;不同于元组和字符串,列表是可以改变的,即其内容可以被修改。

列表的操作

python 列表的操作主要分为列表的创建、删除、修改、访问、遍历、排序、索引、切片、拼接和相乘等标准序列操作以及其他一系列复杂的操作。

列表创建与删除

列表同时也是 python 内置的一种数据结构,python 提供了内置类 list,创建的列表即属于该内置类。创建列表主要有两种方式,具体如下:

第一种方式,最外层用方括号将初始化的数据项括在里面,每个数据项之前通过英文逗号隔开,创建一个包含元素的列表:

lst = ['RabbitMQ', 'RocketMQ', 'Kafka']

也可以创建一个空列表,只有方括号,没有初始化的元素:

lst = []

第二种方式,通过 python 标准库的内置类 list 进行构造,通过内置类 list,且列表中可以存储不同的数据类型,也可以是任何对象:

lst = list(['tool', 1, 8.8, ('tool188',), ['tool', 188]])

此外,字符串为可迭代的数据对象,也可以构造成字符串列表,字符串为可迭代的数据对象,可以构造成字符串列表:

lst = list('Wide & Deep')

删除列表:

del my_list

列表元素的添加

可以对内置类 list 调用 append 函数将一个对象追加到列表的末尾。

lst.append(85)

使用 insert() 方法在指定位置插入元素:

my_list.insert(2, 7)  # 在索引2处插入元素7

修改元素

修改列表中的元素需要使用索引表示将指定索引位置的元素进行重新赋值。

>>> lst = [1, 2, 3]
>>> lst[1] = 4
>>> lst
[1, 4, 3]

列表元素的删除

使用 remove() 方法删除指定值的元素(如果存在多个相同值的元素,只删除第一个):

my_list.remove(4)  # 删除值为4的元素

使用 pop() 方法删除指定索引位置的元素,并返回该元素的值:

popped_element = my_list.pop(3)  # 删除索引为3的元素,并返回其值

移除列表中的元素,也可以通过 del 语句,通过索引号指定要删除的元素对象。

>>> lst = ['CNN', 'DNN', 'RNN']
>>> del lst[0]
>>> lst
['DNN', 'RNN']

列表元素的访问与计数

可以通过索引号访问列表中的单个元素,也可以通过切片表达方式获取片段列表。

>>> name = list('perl')
>>> name[2]
'r'
>>> name[2:]
['r', 'l']
>>> name[1:] = list('ython')
>>> name
['p', 'y', 't', 'h', 'o', 'n']

访问列表元素通过索引,索引从0开始:

first_element = my_list[0]

使用负数索引从列表末尾开始访问元素:

last_element = my_list[-1]

使用 len() 函数获取列表的长度(元素数量):

length = len(my_list)

使用 count() 方法统计特定值在列表中出现的次数:

count_of_2 = my_list.count(2)

成员资格判断

使用 in 关键字检查某个元素是否在列表中:

is_present = 3 in my_list

遍历列表

python 迭代列表中元素,主要有三种方式,具体如下:

第一种方法,直接遍历列表中元素内容;

for item in lst:
    print(item)

第二种方法,借助 rangelen 内置函数,通过元素索引遍历列表元素;

for i in range(len(lst)):
    print(i, lst[i])

当遍历每个元素时,可以知道当前遍历列表的索引号。

第三种方法,通过内置枚举函数 enumerate 直接获取遍历的索引和元素;

for i, item in enumerate(lst):
    print(i, item)

列表的切片操作

切片操作用于获取列表中的一部分元素,语法为 my_list[start:stop:step],默认 start 为0,stop 为列表末尾,step 为1。

subset = my_list[1:4]  # 获取索引1到3的元素

可以使用负数索引和步长来进行更复杂的切片操作。

列表元素的排序与逆序

python 列表的排序主要有两种方式,一种是通过内置函数 sorted,另一种是通过内置类 list 的 sort 方法。

使用 sort() 方法对列表进行升序排序(改变原列表):

my_list.sort()

使用 reverse() 方法逆序列表(改变原列表):

my_list.reverse()

如果不想改变原列表,可以使用 sorted() 函数和切片操作:

sorted_list = sorted(my_list)
reversed_list = my_list[::-1]

列表推导式

列表推导式是一种创建新列表的简洁方法,通过对现有列表的元素进行操作来生成新列表:

squared_list = [x**2 for x in my_list]

列表推导式还可以包含条件语句:

even_numbers = [x for x in my_list if x % 2 == 0]
list类(class)位于builtins模块中,属于内置类,无需import模块就可直接使用,其实所有的列表都是该list内置类对象实例 ...
在Python中,有多种方式可以拼接列表,以下是一些常见的实现方式,每种方式都会详细介绍其步骤流程、示例代码以及最后的对比总结。示例代码:# ...
sort()`方法、使用自定义排序函数和使用第三方库`numpy`的排序方法。###方法4:使用第三方库numpy如果你处理的是数值数据,可 ...
list()是Python中的一个内置函数,用于将可迭代对象(如列表、元组、字符串等)转换为一个新的列表对象。函数语法list(iterab ...
Python中列表排序操作,主要有两种方式,一种是通过内置函数sorted,另一种是通过内置类list的sort方法。 ...