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]
检查元素是否存在
使用 in
和 not 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.爬虫知识点总结复习
相关文章:
Python列表操作指南:索引、切片、遍历与综合应用
文章目录 列表简介创建列表索引和切片列表的长度列表的拼接和重复检查元素是否存在列表的方法index() 方法count() 方法 列表的修改和删除修改元素删除元素列表的排序和反转添加元素 列表的拷贝列表的遍历列表的切片列表的嵌套列表推导式 python精品专栏推荐python基础知识&…...
第15章_锁: MySQL并发访问相同记录以及从数据操作的类型划分锁(读锁、写锁)
事务的 隔离性 由这章讲述的 锁 来实现。 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在程序开发中会存在多线程同步的问题, 当多个线程并发访问某个数据的时候, 尤其是针对一些敏感数据(订单, 金额), 我们就需要保证这个数据在任何时刻最多只有一个线…...
PHP 排序函数使用方法,按照字母排序等操作
详解PHP排序方法使用 一、sort() 函数 用于对数组单元从低到高进行排序。 //数组 $data array(D,F,A,C,B); //排序 sort($data); //输出排版标签 echo "<pre>"; //打印数据 print_r($data);die;输出结果: 二、rsort() 函数 用于对数组单元从高到…...
windows本地验证码识别工具
windows本地验证码识别小工具 - 可以用在windows系统中,并可以集成在Java或python程序中 演示视频如下:可用于识别4-7位的字母数字组合的验证码(识别准确率在70% - 80%)。 验证码识别演示 本项目未开源,如需使用请联…...
修改图片尺寸的几个简单方法
修改图片尺寸的几个简单方法~~图片,是我们常用的文件格式,也是日常生活与工作中重要的文件。图片记录了非常多的元素和内容,其中不乏有工作上的内容,也有对一些日常生活的记录。所以说,图片文件对我们来说是非常重要的…...
三、GoLang字符串的基本操作
一、转义符是什么? 转义字符意义\n换行,将当前位置移动到下一行开头\r回车,将当前位置移到本行开头\t相当于一个Tab键\\代表一个反斜线“\”\"代表一个双引号字符 代码实战 package mainimport "fmt"/* *字符串基本用法 */ func main…...
基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏
目录 引出安装npm install安装element-ui安装axios 进行配置main.js中引入添加jwt前端跨域配置 进行初始布局HomeView.vueApp.vue 新增页面和引入home页面导航栏总结 引出 1.vue-cli创建前端工程,安装element-ui,axios和配置; 2.前端跨域的配…...
在 ubuntu20.04 上安装 Pytorch
参考资料:https://www.linode.com/docs/guides/pytorch-installation-ubuntu-2004/ sudo apt update sudo apt install nvidia-cuda-toolkit (3G) mkdir anaconda cd ~/anaconda wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh chmod …...
远程恋爱网站部署秘籍——群晖虚拟机助ni秀恩爱
文章目录 前言1. 安装网页运行环境1.1 安装php1.2 安装webstation 2. 下载网页源码文件2.1 访问网站地址并下载压缩包2.2 解压并上传至群辉NAS 3. 配置webstation3.1 配置网页服务3.2 配置网络门户 4. 局域网访问静态网页配置成功5. 使用cpolar发布静态网页,实现公网…...
vscode c++解决包含头文件红色波浪线问题
安装c/c插件后,按ctrlshiftp, 点击打开了c_cpp_properties.json文件,对其中的IncludePath进行编辑,示例如下: "includePath": ["${workspaceFolder}/**","${workspaceFolder}/include/**&q…...
PostgreSQL docker compose安装配置
docker-compose.yml如下: version: 3services:postgres:image: postgres:15.4healthcheck:test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]timeout: 45sinterval: 1…...
电脑文件批量重命名:高效操作技巧
随着时间的推移,我们积累的文件和文件夹数量越来越多,需要对它们进行合理的命名和管理,以便更方便地查找和利用。而文件批量重命名功能可以帮助我们更高效地管理文件夹。下面介绍五种方式,帮助你更好地利用文件批量重命名工具&…...
c高级day4(shell)
实现一个对数组求和的函数,数组通过实参传递给函数写一个函数,输出当前用户的uid和gid,并使用变量接收结果...
整十粉丝庆祝文章系列内容征集建议
亲爱的读者们,大家好! 作为一名文章作者,我深知没有读者的支持和喜爱,我的文字就只是无意义的文字堆积。因此,为了庆祝与感谢大家长久以来的支持,我准备举办一场特别的活动——粉丝庆祝文章系列内容征集建…...
两数乘积:输出1~100整数乱序列表中两数乘积是目标整数的最小下标对
给定1~100整数的乱序列表,查找并输出乘积是用户指定整数的两个整数下标对。 (本笔记适合熟练掌握Python列表的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教…...
【JavaSE】面试01
文章目录 1. JDK、JRE、JVM之间的关系2. 补充3. 面试题:重载和重写的区别?4. super和this5. (重点!!)若父类和子类均有静态代码块、实例代码块以及无参构造方法,则继承关系上的执行顺序…...
Elasticsearch(二)kibana数据检索
Elasticsearch(二)kibana数据检索 1.简述 有了数据学习使用kibana调用api检索数据,熟练kibana操作后再进一步使用spring data。 term用于keyword类型数据精准查询,类似mysqlmatch 用于text类型数据分词查询,倒排索引 首先针对keyword文本…...
JavaScript编程语法作业
目录 目录 前言 思维导图 1,作业资源 2,if语句练习 2.1代码解读: 2.2,结果展示: 3,switch语句练习 3.1,代码解读: 3.2,结果展示: 4.while循环练习 4.1,代码解读: 4.2.结果展示: 5.do-while循环练习 5.1,代码解读: 5.2,结果展…...
服务器中了Malloxx勒索病毒应该怎么办?勒索病毒解密,数据恢复
Malloxx勒索病毒是一种近年来发现的电脑病毒,它以加密用户电脑中的重要文件数据为手段,威胁用户并以此勒索钱财。这种病毒的传播方式多种多样,可以通过电子邮件、恶意网站、网络下载等方式进行传播。一旦电脑被感染,病毒会立即锁住…...
如何实现Spring的事务管理功能:@Transactional声明式事务
在Spring MVC中处理SQL事务,可以使用Spring的事务管理功能来实现。Spring提供了多种配置和编程方式来管理事务,以下是一种常见的基于注解的方法来处理SQL事务: 1. 配置数据源和事务管理器:首先,您需要配置数据源和事务…...
LeetCode(力扣)122. 买卖股票的最佳时机 II
LeetCode122. 买卖股票的最佳时机 II 题目链接代码 题目链接 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/ 代码 class Solution:def maxProfit(self, prices: List[int]) -> int:result 0for i in range(1, len(prices)):result max((prices[i…...
串行通信协议
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、UART二、SPI二、IIC 前言 UART为异步串行通信,使用各自的时钟控制数据的发送和接受过程,不使用同步时钟,而是使用一些特…...
Elasticsearch中RestClient使用
🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...
【LeetCode-中等题】208. 实现 Trie (前缀树)
文章目录 题目方法一:利用数组构建26叉树方法二:利用哈希表构建26叉树 题目 方法一:利用数组构建26叉树 插入图示: 全搜索和前缀搜索: 注意:全局匹配匹配完直接返回插入时的标志位 而前缀匹配时ÿ…...
python队列与多线程——生产者消费者模型
队列相关知识点 多线程相关知识点 import random import time from queue import Queue import threadingclass Consumer(threading.Thread):def __init__(self, name, Q: Queue):super(Consumer, self).__init__()self.name nameself.Q Qdef run(self):while True:time.sl…...
idea的安装
大家可以关注博主,加个微信,私下聊聊 我们先到idea的官网里下载一个ideaidea官网 idea的安装非常简单,只需要一直next就行, 安装完后到你的文件里找到idea64.exe.vmoptions文件,在最后一行添加-javaagent:D:\idea\jetb…...
Unity下如何实现RTMP或RTSP播放端录像?
好多开发者问我们,Unity环境下,除了RTSP或RTMP的播放,如果有录像诉求,怎么实现?实际上录像相对播放来说,更简单一些,因为不涉及到绘制,只要拉流下来数据,直接写mp4文件就…...
【Python】Python基础语法
总感慨万千,虽只道寻常 文章目录 前言1. python与Java的主要区别2. 数据类型3. 输入与输出3.1 输入3.2 输出 4. 注释5. 运算符6. 条件语句7. 循环8. 函数9. 列表9.1 创建9.2 根据下标访问元素9.3 列表切片9.4 遍历9.5 插入元素9.6 查找元素下标9.7 删除元素9.8 列表…...
I2C总线驱动:裸机版、应用层的使用、二级外设驱动三种方法
一、I2C总线背景知识 SOC芯片平台的外设分为: 一级外设:外设控制器集成在SOC芯片内部二级外设:外设控制器由另一块芯片负责,通过一些通讯总线与SOC芯片相连 Inter-Integrated Circuit: 字面意思是用于“集成电路之间…...
Unix Network Programming Episode 77
‘gethostbyaddr’ Function The function gethostbyaddr takes a binary IPv4 address and tries to find the hostname corresponding to that address. This is the reverse of gethostbyname. #include <netdb.h> struct hostent *gethostbyaddr (const char *addr…...
iis7搭建网站织梦/宁波seo推广联系方法
省市级联//定义一个保存所有城市的数组var arys [["北京","天津","重庆","上海"],["长沙","株洲","湘潭","娄底","岳阳"],["东莞","佛山","中山",…...
wordpress首页无法找到/郑州百度公司地址
跨域问题主要在header上下功夫 首先提供一个w3c的header定义 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 再提供一个网友提供的header详解 http://kb.cnblogs.com/page/92320/ 这两个有助于帮助大家理解header的类型和作用, 但是遗憾的是跨域相关的两…...
良精网站管理系统/盛大游戏优化大师
文件 > 首选项 > 用户代码片段 > 新建全局代码片段/或文件夹代码片段:vue-html.code-snippets 再将出现的部分替换为下面的片段 {"vue htm": {"scope": "html","prefix": "vuehtml","body":…...
论述站点的几种推广方式/百度网址入口
前言前段时间学习了HTTP的原理,并用Python语言实现了一个简单的HTTP服务器(带有多线程功能的哦);后面突发一想,我能把挂在本地服务器上,每次运行都需要打开虚拟机并运行程序(这样真的很麻烦)。我想起之前阿里云服务器打折的时候&a…...
做二手房的端口网站/下载百度网盘app
前言 在项目中频繁遇到数组、集合和泛型,在使用vue时,用到最多的是数组;在后台时使用最多的是泛型,有时还用到IList,下面来学习一下它们之间的关系。 正文 数组 概念 一组类型相同的有序数据,它是…...
类似美团网的网站是怎么做的/黄山网站seo
今天看到《编码:隐匿在计算机软硬件背后的语言》的第十二章:二进制加法器。讲述了全加器,半加器的原理以及如何实现加法。实现加法时所使用的全加器,半加器中包含的所有逻辑门在C语言中都有相应的运算符,就想着能不能利…...