Python列表操作指南:索引、切片、遍历与综合应用

文章目录

列表

简介

列表(List)是Python中最常用的数据结构之一,它可以存储多个元素,并且支持对元素的索引和切片操作。本文将介绍列表的基本操作和常用方法。

创建列表

通过方括号 [] 来创建一个列表,可以是空列表或包含元素的列表。例如:

python 复制代码
my_list = []  # 创建一个空列表

my_list = [10]  # 创建一个只包含一个元素的列表

my_list = [10, 20, 30, 40, 50]  # 创建一个包含多个元素的列表

索引和切片

列表中的元素按照插入顺序存储,并且每个元素都有一个索引,索引从0开始计数。可以使用索引来获取列表中的元素,也可以使用切片来获取子列表。

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]

# 通过索引获取元素
print(my_list[0])  # 输出:10
print(my_list[4])  # 输出:50

# 使用切片获取子列表
print(my_list[1:4])  # 输出:[20, 30, 40]

列表的长度

使用 len() 函数可以获取列表中元素的个数,即列表的长度。

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]
print(len(my_list))  # 输出:5

列表的拼接和重复

使用 + 可以将两个列表拼接为一个列表,使用 * 可以将列表重复指定的次数。

示例代码:

python 复制代码
list1 = [1, 2, 3]
list2 = [4, 5, 6]

new_list = list1 + list2
print(new_list)  # 输出:[1, 2, 3, 4, 5, 6]

repeated_list = list1 * 3
print(repeated_list)  # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]

检查元素是否存在

使用 innot in 可以检查指定元素是否存在于列表中。

示例代码:

python 复制代码
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']

print('牛魔王' in stus)  # 输出:False
print('孙悟空' not in stus)  # 输出:False

列表的方法

列表提供了许多常用的方法,可以对列表进行增删改查等操作。

index() 方法

index() 方法用于获取指定元素在列表中第一次出现的索引,可以指定起始位置和结束位置进行查找。

示例代码:

python 复制代码
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']

print(stus.index('沙和尚'))  # 输出:2
print(stus.index('沙和尚', 3, 6))  # 输出:3

# 如果要获取列表中没有的元素,会抛出异常
# print(stus.index('牛魔王'))  # 抛出 ValueError 异常

count() 方法

count() 方法用于统计指定元素在列表中出现的次数。

示例代码:

python 复制代码
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精', '沙和尚', '沙和尚']

print(stus.count('沙和尚'))  # 输出:3

列表的修改和删除

修改元素

通过索引可以修改列表中的某个元素的值。

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]

my_list[2] = 35
print(my_list)  # 输出:[10, 20, 35, 40, 50]

删除元素

可以使用 del 关键字或 pop() 方法删除列表中的元素。

使用 del 关键字:

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]

del my_list[2]
print(my_list)  # 输出:[10, 20, 40, 50]

使用 pop() 方法:

pop() 方法用于删除指定索引的元素,并返回被删除的元素的值。如果不指定索引,默认删除最后一个元素。

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]

removed_element = my_list.pop(2)
print(removed_element)  # 输出:30
print(my_list)  # 输出:[10, 20, 40, 50]

removed_element = my_list.pop()
print(removed_element)  # 输出:50
print(my_list)  # 输出:[10, 20, 40]

列表的排序和反转

可以使用 sort() 方法对列表进行排序,使用 reverse() 方法进行反转。

示例代码:

python 复制代码
my_list = [3, 1, 4, 2, 5]

my_list.sort()
print(my_list)  # 输出:[1, 2, 3, 4, 5]

my_list.reverse()
print(my_list)  # 输出:[5, 4, 3, 2, 1]

添加元素

使用 append() 方法可以在列表末尾添加一个元素,使用 insert() 方法可以在指定索引位置插入一个元素。

示例代码:

python 复制代码
my_list = [10, 20, 30]

my_list.append(40)
print(my_list)  # 输出:[10, 20, 30, 40]

my_list.insert(1, 15)
print(my_list)  # 输出:[10, 15, 20, 30, 40]

列表的拷贝

在Python中,列表是可变对象,当将一个列表赋值给另一个变量时,实际上是将列表的引用赋给了新的变量。如果修改其中一个变量的值,另一个变量也会受到影响。

为了避免这种情况,可以使用 copy() 方法或切片操作来创建一个列表的副本。

示例代码:

python 复制代码
my_list = [10, 20, 30]
copy_list = my_list.copy()
slice_list = my_list[:]

my_list[0] = 5

print(copy_list)  # 输出:[10, 20, 30]
print(slice_list)  # 输出:[10, 20, 30]

这样,修改原列表后,副本列表不会受到影响。

当然,还有更多关于列表的内容可以继续介绍。

列表的遍历

可以使用循环来遍历列表中的所有元素,并对每个元素进行操作。

示例代码:

python 复制代码
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧']

# 使用 for 循环遍历列表
for stu in stus:
    print(stu)

# 使用 while 循环遍历列表
i = 0
while i < len(stus):
    print(stus[i])
    i += 1

列表的切片

除了获取子列表之外,切片操作还可以修改和删除列表的元素。

示例代码:

python 复制代码
my_list = [10, 20, 30, 40, 50]

# 修改切片中的元素
my_list[1:4] = [25, 35, 45]
print(my_list)  # 输出:[10, 25, 35, 45, 50]

# 删除切片中的元素
my_list[1:4] = []
print(my_list)  # 输出:[10, 50]

列表的嵌套

列表可以包含其他列表作为元素,形成嵌套结构。

示例代码:

python 复制代码
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print(matrix[0])  # 输出:[1, 2, 3]
print(matrix[1][2])  # 输出:6

列表推导式

列表推导式是一种简洁创建列表的方式,可以使用循环和条件语句来创建列表。

示例代码:

python 复制代码
# 创建一个包含1到10的平方的列表
squares = [x**2 for x in range(1, 11)]
print(squares)  # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 创建一个只包含偶数的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)  # 输出:[2, 4, 6, 8, 10]

python精品专栏推荐


python基础知识(0基础入门)

【python基础知识】0.print()函数
【python基础知识】1.数据类型、数据应用、数据转换
【python基础知识】2.if条件判断与条件嵌套
【python基础知识】3.input()函数
【python基础知识】4.列表和字典
【python基础知识】5.for循环和while循环
【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
【python基础知识】7.实操-用Python实现"文字PK"小游戏(一)
【python基础知识】7.实操-用Python实现"文字PK"小游戏(二)
【python基础知识】8.编程思维:如何解决问题-思维篇
【python基础知识】9.函数的定义和调用
【python基础知识】10.用函数编写程序 - 实操篇
【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
【python基础知识】12.类与对象(一)
【python基础知识】12.类与对象(二)
【python基础知识】13.类与对象(三)
【python基础知识】13.类与对象(四)
【python基础知识】14.图书管理系统的搭建(类与对象实操)
【python基础知识】15.编码基础知识
【python基础知识】16.文件读写基础及操作
【python基础知识】16."古诗默写题"的python实现(文件读写和编码-实操篇)
【python基础知识】17.模块的概念以及如何引入
【python基础知识】18.实操-使用python自动群发邮件
【python基础知识】19.产品思维以及流程图的使用 - 思维篇
【python基础知识】20."午饭吃什么"的python实现(产品思维-实操篇)
【python基础知识】21.高效偷懒的正确打开方式-毕业篇
【python文件处理】CSV文件的读取、处理、写入
【python文件处理】Excel自动处理(使用 openpyxl)
【python文件处理】-excel格式处理


python爬虫知识

【python爬虫】1.爬虫基础知识
【python爬虫】2.网页基础知识
【python爬虫】3.爬虫初体验(BeautifulSoup解析)
【python爬虫】4.爬虫实操(菜品爬取)
【python爬虫】5.爬虫实操(歌词爬取)
【python爬虫】6.爬虫实操(带参数请求数据)
【python爬虫】7.爬到的数据存到哪里?
【python爬虫】8.温故而知新
【python爬虫】9.带着小饼干登录(cookies)
【python爬虫】10.指挥浏览器自动工作(selenium)
【python爬虫】11.让爬虫按时向你汇报
【python爬虫】12.建立你的爬虫大军
【python爬虫】13.吃什么不会胖(爬虫实操练习)
【python爬虫】14.Scrapy框架讲解
【python爬虫】15.Scrapy框架实战(热门职位爬取)
【python爬虫】16.爬虫知识点总结复习

相关推荐
databook11 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室11 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三13 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
用户25191624271116 小时前
Python之语言特点
python
刘立军17 小时前
使用pyHugeGraph查询HugeGraph图数据
python·graphql
数据智能老司机20 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
CYRUS_STUDIO21 小时前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
数据智能老司机21 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
c8i1 天前
django中的FBV 和 CBV
python·django
c8i1 天前
python中的闭包和装饰器
python