文章目录
列表
简介
列表(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]
检查元素是否存在
使用 in
和 not 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.爬虫知识点总结复习