软件测试/测试开发丨Python常用数据结构-列表list

列表的定义

  • 列表是有序的可变元素的集合,使用中括号[ ]包围,元素之间用逗号分隔;
  • 列表是动态的,可以随时扩展和收缩;
  • 列表是异构的,可以同时存放不同类型的对象;
  • 列表允许出现重复的元素。

列表的示意图:

image

列表的创建

方法一:通过构造函数创建

image

方法二:中括号创建并填充

image

方法三:列表推导式

image

索引

可以通过索引值来访问对应的元素:

  • 默认正向索引,编号从0开始;
  • 支持反向索引,编号从 -1 开始。

索引的示意图:

image

示例:

image

切片

[start:stop:step]

  • start值:开始索引值,若没有指定,则默认为0;
  • stop值:结束索引值,但不包括这个结束索引值;若没有指定,则取列表允许的最大索引值;
  • step值:步长值,指每一步的大小,若没有指定,则默认为1;

以上三个值都是非必填的。

image

示例:

image

运算符

  • 重复:使用*运算符,可以重复生成列表元素。
  • 合并:使用+运算符,可以将列表合二为一。

示例:

image

成员检测

  • in:检查一个元素是否在列表中,若在则返回True,否则返回False。
  • not in:检查一个列表是否不包含某个元素,若不在则返回True,否则返回False。

示例:

image

列表常用方法

1. append()

append(item):将一个对象item添加到列表的末尾。

  • 入参:对象item
  • 返回:None

示例:

image

2. extend()

extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。

  • 入参:可迭代对象iterable
  • 返回:None

示例:

image

3. insert()

insert(index, item):将一个对象插入到指定的索引位置,原索引位置及后面的元素后移一位。

  • 入参:索引值index,一个对象item
  • 返回:None

示例:

image

4. pop()

pop(index)pop():弹出并返回所指定索引的元素。

  • 入参:索引值index,可不传
  • 返回:

a. 指定索引的元素;
b. 未指定索引,则返回末尾元素;
c. 索引值不正确,或者列表已经为空,则引发IndexError报错。

示例:

image

5. remove()

remove(item):移除列表中第一个等于item的元素。目标元素必须已存在,否则引发ValueError报错。

  • 入参:指定元素item
  • 返回:None

示例:
 

image

6. sort()

sort(key=None, reverse=False):对列表进行原地排序,只使用<来进行各项间比较。

  • 入参:支持2个关键字参数
  • key——指定带有一个参数的函数,用于从每个列表元素中提取比较键。
  • reverse——默认值为False表示升序,为True表示降序。
  • 返回:None

示例:

image

7. reverse()

reverse():将列表中的元素顺序反转。反转只是针对索引值,元素之间不相互比较。

  • 入参:无
  • 返回:None

示例:

image

列表嵌套

列表嵌套是指在列表里存放列表;列表的常用方法都适用于列表嵌套。

示例:

image

列表推导式

列表推导式是指循环创建列表,相当于for循环创建列表的简化版。

  • 语法:[x for x in li if x …]

示例:

image

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

六、从0开始卷出一个新项目瑞萨RZN2L之loader app分离工程优化

六、loader app分离工程 6.1 概述 6.2 官方资料与不足 6.3 loader app分离工程的优化 6.3.1 自动调节合并appsection 6.3.2 loader中使用外设 6.3.3 app使用sram mirror 6.3.4 sram atcm同时使用 六、从0开始卷出一个新项目之瑞萨RZN2L loader…

深入浅出理解转置卷积Conv2DTranspose

温故而知新&#xff0c;可以为师矣&#xff01; 一、参考资料 论文&#xff1a;A guide to convolution arithmetic for deep learning github源码&#xff1a;Convolution arithmetic bilibili视频&#xff1a;转置卷积&#xff08;transposed convolution&#xff09; 转置…

STM32入门教程-2023版【3-2】点亮LED灯之库函数介绍

关注 点赞 不错过精彩内容 大家好&#xff0c;我是硬核王同学&#xff0c;最近在做免费的嵌入式知识分享&#xff0c;帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 二、正式点亮一个LED灯 操作STM32的GPIO需要三个步骤&#xff1a; 1.使用RCC打开GPIO的时钟&#…

基于策略模式和简单工厂模式实现zip、tar、rar、7z四种压缩文件格式的解压

推荐语 这篇技术文章深入探讨了基于策略模式和简单工厂模式实现四种常见压缩文件格式的解压方法。通过阅读该文章&#xff0c;你将了解到如何利用这两种设计模式来实现灵活、可扩展的解压功能&#xff0c;同时适应不同的压缩文件格式。如果你对设计模式和文件处理感兴趣或刚好…

Springboot配置http-Only

项目框架 jdk1.8、springboot2.5.10 情况一 项目中未使用&#xff08;权限认证框架&#xff1a;Sa-Token&#xff09; application.yml文件内增加配置 server.servlet.session.cookie.http-onlytrueserver.servlet.session.cookie.securetrue (此条配置建议也加上) 情况二…

课题学习(十八)----捷联测试电路设计与代码实现(基于MPU6050和QMC5883L)

一、 电路设计 本周主要工作是在项目上&#xff0c;抽空做了一个跟本课题相关的电路板&#xff0c;之前用开发板来做测试&#xff0c;MPU6050和QMC5883L都是用杜邦线连接的&#xff0c;导致接线很乱&#xff0c;也不美观&#xff0c;当然也不符合“捷联”的定义。   下面是电…

【领域驱动设计】模式--通用语言(Ubiquitous language)

一.前言 有道无术术可求&#xff0c;有术无道止于术。方法论的形成都是为了让我们能够更高效&#xff0c;系统的解决问题&#xff0c;而不至于遇到问题不知所措。 二.通用语言的必要性 相信大家在实际的软件开发流程过程中&#xff0c;经常会遇到参照 Prd原型 编码出的系统与实…

SSM驾校预约管理系统----计算机毕业设计

项目介绍 本项目分为管理员、教练、学员三种角色&#xff0c; 管理员角色包含以下功能&#xff1a; 学员管理、教练管理、车辆管理、关系管理、车辆维修管理、个人中心等功能。 教练角色包含以下功能&#xff1a; 我的课程、我的学员、车辆中心、个人中心等功能。 学员角色包…

zabbix添加监控主机(agent)并告警

一、添加监控主机 总体来说&#xff0c;在被监控主机上安装部署zabbix-agent&#xff0c;并修改配置文件&#xff08;zabbix_agentd.conf&#xff09;的参数。然后在zabbix 服务端zabbix-get检查是否可以监控。如果可以了&#xff0c;就可以在web页面添加了&#xff0c;要监控…

Ubuntu16.04 安装Anaconda

步骤 1&#xff1a; 去官网下载安装包,链接如下: https://repo.anaconda.com/archive/ 找到对应版本下载至本地电脑&#xff0c;并上传至服务器。 步骤2: 通过命令解压 sh Anaconda3-2023.03-0-Linux-x86_64.sh 一路选择yes或则回车&#xff0c;直到安装成功出现下面画面&…

Spring高手之路-@Autowired和@Resource注解异同点

目录 相同点 不同点 1.来源不同。 2.包含的属性不同 3.匹配方式&#xff08;装配顺序&#xff09;不同。 ​编辑 4.支持的注入对象类型不同 5.应用地方不同 相同点 都可以实现依赖注入&#xff0c;通过注解将需要的Bean自动注入到目标类中。都可以用于注入任意类型的Bean…

vue如何实现局部刷新?

应用场景&#xff1a; 比如你要切换tap栏实现刷新下面form表单等&#xff0c;相当于刷新页面。 如何使用如下&#xff1a; <div v-if"isReloadData"> 比如你想刷新那个位置就把 v-if"isReloadData"写到那个标签上 </div> 在data中定义刷新标…

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

基于零和收益的DEA模型研究python实现

传统的DEA模型往往假设相关的是相互独立的,此时DEA模型只能计算出相对效率,无法进行效率的调整。如在碳排放分配问题上,碳排放总量保持不变,利用DEA模型只能计算出每个省份分配的相对效率,这在讨论固定资源下的碳排放配额分配问题时具有明显的局限性。在这种情况下,利用Z…

软件测试/测试开发丨Windows Appium环境搭建

windows 版本 Appium 环境搭建 安装 nodejs 下载.msi文件 https://nodejs.org/en/download/ 注意&#xff1a; 1、下载12.*版本双击安装即可。 2、无须配置环境变量,直接重启一个 cmd 输入下面的命令&#xff0c;能够查看这两个版本号即安装成功。 安装 appium desktop 直…

js对象方法大全(开发必会)

目录 前言 assgin(对象合并) 参数 功能 返回值 测试 结果 结论 create(以源对象为原型创建新对象) 参数 功能 返回值 测试 结果 结论 defineProperties(对属性进行具体定义) 参数 功能 返回值 测试 结果 结论 defineProperty(重写或定义新属性) 参数 功…

无论男孩女孩都要尽情打扮

这款柔软又细腻的开衫外套 上身体验感很不错的哈 舒适软糯百搭还透气&#xff0c;抗起球的面料 黑灰两色简单大方 胸前加上了流行的刺绣设计&#xff0c;可爱又精致 单穿内搭都可&#xff0c;现在天气还比较冷 外面可以套个羽绒服之类的 时尚叠穿风&#xff0c;韩系范儿…

【揭秘】技术同学申请专利的惊人好处,你绝对不能错过!

今天跟大家分享一下&#xff0c;从一名技术工程师&#xff08;程序员&#xff09;的角度&#xff0c;为什么要写专利以及如何去申请专利&#xff1f; 专利的本质 首先就是要科普一下&#xff0c;并不是说一定要做出来的某个东西&#xff0c;才能够申请专利&#xff0c;和想象…

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准&#xff0c;常说线程池有七大参数&#xff0c;通常而言&#xff0c;有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit …

虚拟机迁移技术原理与应用

虚拟机迁移技术主要应用于两种场景&#xff1a; 第一种&#xff0c;随着现在虚拟化的发展&#xff0c;传统it架构的物理机需迁移到虚拟机上&#xff0c;实现负载均衡、资源优化等目的。 第二种&#xff0c;将虚拟机从一个虚拟化平台迁移到另一个虚拟化平台&#xff0c;可以是…