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

文章目录

  • 列表
    • 简介
    • 创建列表
    • 索引和切片
    • 列表的长度
    • 列表的拼接和重复
    • 检查元素是否存在
    • 列表的方法
      • index() 方法
      • count() 方法
    • 列表的修改和删除
      • 修改元素
      • 删除元素
      • 列表的排序和反转
      • 添加元素
    • 列表的拷贝
    • 列表的遍历
    • 列表的切片
    • 列表的嵌套
    • 列表推导式
  • python精品专栏推荐
    • python基础知识(0基础入门)
    • python爬虫知识

列表

简介

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

创建列表

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

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

索引和切片

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

示例代码:

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() 函数可以获取列表中元素的个数,即列表的长度。

示例代码:

my_list = [10, 20, 30, 40, 50]
print(len(my_list))  # 输出:5

列表的拼接和重复

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

示例代码:

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 可以检查指定元素是否存在于列表中。

示例代码:

stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']print('牛魔王' in stus)  # 输出:False
print('孙悟空' not in stus)  # 输出:False

列表的方法

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

index() 方法

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

示例代码:

stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']print(stus.index('沙和尚'))  # 输出:2
print(stus.index('沙和尚', 3, 6))  # 输出:3# 如果要获取列表中没有的元素,会抛出异常
# print(stus.index('牛魔王'))  # 抛出 ValueError 异常

count() 方法

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

示例代码:

stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精', '沙和尚', '沙和尚']print(stus.count('沙和尚'))  # 输出:3

列表的修改和删除

修改元素

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

示例代码:

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

删除元素

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

使用 del 关键字:

示例代码:

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

使用 pop() 方法:

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

示例代码:

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() 方法进行反转。

示例代码:

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() 方法可以在指定索引位置插入一个元素。

示例代码:

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() 方法或切片操作来创建一个列表的副本。

示例代码:

my_list = [10, 20, 30]
copy_list = my_list.copy()
slice_list = my_list[:]my_list[0] = 5print(copy_list)  # 输出:[10, 20, 30]
print(slice_list)  # 输出:[10, 20, 30]

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

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

列表的遍历

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

示例代码:

stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧']# 使用 for 循环遍历列表
for stu in stus:print(stu)# 使用 while 循环遍历列表
i = 0
while i < len(stus):print(stus[i])i += 1

列表的切片

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

示例代码:

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]

列表的嵌套

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

示例代码:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]print(matrix[0])  # 输出:[1, 2, 3]
print(matrix[1][2])  # 输出:6

列表推导式

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

示例代码:

# 创建一个包含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.爬虫知识点总结复习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/75642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙应用开发之容器组件

一、概述 一个丰富的页面通常是由很多基础组件组成的&#xff0c;那么我们如何才能让这些组件有条不紊地在页面上布局呢&#xff1f;这就需要借助容器组件来实现。 容器组件是一种比较特殊的组件&#xff0c;它可以包含其他的组件&#xff0c;而且按照一定的规律布局&#xf…

【Python】关于自定义对象的Json序列化和反序列化

背景 最近使用Ptyon爬虫数据时&#xff0c;遇到对象无法转换为JSON序列化对象问题TypeError: Object of type Main is not JSON serializable 意思&#xff1a; 就是对象不能转换为JSON序列化对象 原因&#xff1a; 是对象没有自定义实现转换为JSON序列化对象的方法没有。 实…

基于SSM的精品酒销售管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Java项目-苍穹外卖-Day10-SpirngTask及WebSocket

文章目录 前言SpringTask介绍SpringTask_corn表达式Spring_Task入门案例 订单状态定时处理需求分析代码开发功能测试 WebScoket介绍入门案例 来单提醒需求分析代码开发功能测试 客户催单代码开发功能测试 前言 本章实现的业务功能 超时未支付订单自动取消&#xff0c;配送中订…

想了解Java内存分析工具MAT?看这里哦

MAT 简介 MAT全称为 Eclipse Memory Analyzer Tool &#xff0c;eclipse基金会开源的java堆内存分析工具&#xff0c;可以快速的进行堆内存分析、大对象可视化、类加载器分析、线程分析等。在我们碰到线上内存问题时候&#xff0c;是不可多得的好工具&#xff08;当然也有artha…

打工人必装的5款黑科技软件,办公舒适度立刻提升数倍

分享打工人必装的5款黑科技软件&#xff0c;让你高效完成工作&#xff0c;办公舒适度立刻提升数倍。 DroidCam——手机充当电脑摄像头 DroidCam可以让你的手机充当电脑的摄像头&#xff0c;让手机拍摄到的画面实时投送到电脑屏幕上&#xff0c;也可以充当视频聊天的摄像头&…

民安智库(第三方满意度调研公司)公园游客满意度调查内容

设计公园游客满意度调查指标需要仔细考虑&#xff0c;以确保综合评估游客的体验和需求。以下是一些常见的公园游客满意度调查指标&#xff0c;您可以根据具体情况进行定制&#xff1a; 整体满意度评分&#xff1a; 游客对整个公园体验的总体满意度评分&#xff0c;通常以1到10…

import cv2

我看到一段opencv的代码&#xff0c;是在python环境跑的&#xff0c;我的python环境&#xff08;anaconda - jupyter notebook&#xff09;是刚装好的空白环境&#xff0c;没有opencv包。怎么用anaconda安装一个opencv包呢&#xff1f; 他使用了import cv2&#xff0c;我不知道…

Netty核心原理:一、基础入门-03:NettyServer接收数据

文章目录 一、前言介绍二、代码实现2.1 工程结构2.2 Netty服务端接收数据实现2.2.1 服务端处理器2.2.2 通道初始化2.2.3 netty服务端 2.3 单元测试 一、前言介绍 &#x1f4a1; 介绍使用 netty 写一个能接收数据的 socketServer 服务端。 通过实现通道适配器 ChannelInboundHan…

Windows通过RDP异地远程桌面Ubuntu【内网穿透】

文章目录 前言1. ubuntu安装XRDP2.局域网测试连接3.安装cpolar内网穿透4.cpolar公网地址测试访问5.固定域名公网地址 前言 XRDP是一种开源工具&#xff0c;它允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP外&#xff0c;xrdp工具还接受来自其他RDP客户端(如Fre…

基于Python和mysql开发的在线音乐网站系统(源码+数据库+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python和mysql开发的在线音乐网站系统(&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经…

【面试题】前端开发中如何高效渲染大数据量?

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 【国庆头像】- 国庆爱国 程序员头像&#xff01;总有一款适合你&#xff01; 在日常工作中&#xff0c;较少的能遇到一次性往页面中插入大量数据的场景…

城市修建(逆天的取值范围) long long, numeric_limits<long long>::max()

城市修建 时间限制&#xff1a;1S内存限制&#xff1a;64MB 描述 有一个城市需要修建&#xff0c;给你N个民居的坐标X,Y&#xff0c;问把这么多民居全都包进城市的话&#xff0c;城市所需最小面积是多少&#xff08;注意&#xff0c;城市为平行于坐标轴的正方形&#xff09; 输…

小白备战大厂算法笔试(六)——堆

文章目录 堆常用操作堆的实现存储与表示访问堆顶元素元素入堆元素出堆 常见应用建堆操作自上而下构建自下而上构建 TOP-K问题遍历选择排序堆 堆 堆是一种满足特定条件的完全二叉树&#xff0c;主要可分为下图所示的两种类型。 大顶堆&#xff1a;任意节点的值 ≥ 其子节点的值…

【Hello Algorithm】贪心算法

本篇博客介绍&#xff1a; 简单介绍下贪心算法 贪心算法 介绍贪心算法最小字典序的字符串拼接最多会议数切棍子的最小成本IPO灯塔问题 介绍贪心算法 贪心算法是一种极具有自然智慧的算法 它会使用以一种局部最功利的标准来做出一个当前看来最好的选择 如果说我们根据局部最优…

更改Windows上的远程桌面的侦听端口

《微软官网更改计算机上的远程桌面的侦听端口》 适用范围&#xff1a;Windows Server 2022、Windows 10、Windows 8.1、Windows 8、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2008 R2 通过远程桌面客户端连接到计算机&#xff08;Wi…

react导出excel?

1、先安装依赖 自行百度搜索或csdn 2.引入&#xff1a;import table2excel from js-table2excel 3、按钮点击事件&#xff08;我是直接写在button按钮里面的 你们也可以写一个店家事件写进去&#xff09; onClick{() > {console.log(list);const column [//数据表单{titl…

目标检测YOLO实战应用案例100讲-森林野火预警的小目标检测

目录 前言 传统目标检测算法 基于深度学习的目标检测算法 两阶段目标检测算法

kill -15 与kill -9的区别

kill -15和 kill -9 是常用的命令&#xff0c;都可以用来杀死进程。 那 kill -15 与 kill -9 有什么区别呢&#xff1f; kill - 后面跟的是信号 比如9、15 进程之间的通信就是让俩个进程之间交互 管道符进程的通信 还有一种就是信号ctrl c&#xff0c;也是信号跟kill一个意思…

【docker】私有仓库搭建

Docker 私有仓库搭建 在 Docker 中&#xff0c;当我们执行 docker pull xxx 的时候 &#xff0c;它实际上是从 registry.hub.docker.com 这个地址去查找&#xff0c;这就是Docker公司为我们提供的公共仓库。在工作中&#xff0c;我们不可能把企业项目push到公有仓库进行管理。…