软件测试/测试开发丨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.hqwc.cn/news/307345.html

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

相关文章

【小程序八股文】系列之篇章一 | 小程序基础及与其他产品区别

【小程序八股文】系列之篇章一 | 小程序基础及与其他产品区别 前言概览一、 微信小程序基础/背景小程序的理解微信小程序的优点及缺点简述一下微信小程序的相关文件类型简述一下小程序的开发流程&#xff1f;简述一下微信小程序的框架&#xff1f; 二、微信小程序与其他的区别&…

再传捷报!百望云荣登投资家网“2023年度企业服务领域创新企业TOP20”

近日&#xff0c;投资家网旗下投资家研究院重磅发布“投资家网2023中国价值企业榜”。经过层层严格评选&#xff0c;百望云荣登“2023年度企业服务领域创新企业TOP20”&#xff0c;再次说明了业界权威机构认可百望云的创新能力和市场价值。 本次评选&#xff0c;投资家网旗下投…

[鹏城杯 2022]简单包含

[鹏城杯 2022]简单包含 wp 题目代码如下&#xff1a; <?php highlight_file(__FILE__); include($_POST["flag"]); //flag in /var/www/html/flag.php; 直接 POST 传参&#xff1a; flag/var/www/html/flag.php 会触发 waf 。 尝试用伪协议读取&#xff1a; …

SV接口的驱动和采样_2023.12.27】

cb 使用cloking block进行信号的同步 在cloking block&#xff0c;所有信号的采样和驱动&#xff0c;都是和时钟同步的 clocking cb &#xff08;posedge clk&#xff09;; input grant; output request; endclocking接口同步 用和wait来同步测试平台中的信号 bus.cb; 接口…

【Angular 】Angular 模板中基于角色的访问控制

您是否在Angular模板中实现角色库访问控制&#xff1f;一种方法是通过*ngIf&#xff0c;但我不会选择该路径&#xff0c;因为它将在Angular模板中包含自定义函数&#xff0c;并且很难维护。正确的方法是使用Angular结构指令&#x1f680;. 什么是RBAC&#xff1f; 基于角色的…

年底离职潮来了!来聊聊程序员的离职跳槽

每当元旦春节将至的时候&#xff0c;办公室的气氛也诡异起来&#xff0c;空气弥漫着离职的味道。因为积累许久的负面情绪长期无法获得释放&#xff0c;打工人对工作的容忍度越发稀薄了起来&#xff0c;有的打工人看似正襟危坐地坐在工位上&#xff0c;实则愤然辞职的念头在心里…

STM32F030F4P6 ADC多通道定时器触发DMA搬运

配置多通道ADC 配置定时器1s读一次 主函数中等待转换完成的标志位&#xff0c;然后打印出来。 uint16_t adc_buffer[2] {0}; uint8_t adc_flag; float curr,vol;HAL_ADCEx_Calibration_Start(&hadc); HAL_TIM_Base_Start(&htim3); HAL_ADC_Start_DMA(&hadc,(uint3…

悔不该用中文作为Windows的用户名啊~

前言 汉字在中华文明已经有了几千年的历史&#xff0c;小伙伴们所使用名字更是伴随了自己一生。所以小白们在拿到自己的新电脑&#xff0c;总会想着把自己的中文名字设置为电脑的用户名&#xff0c;这样更能显示出那是自己的专属电脑&#xff01; 一开始小白也是这么想的&…

C/C++ 函数参数按引用传递、指针传递、实参传递

引用经常被用作函数参数&#xff0c;使得函数中的变量名成为调用程序中的变量的别名。这种传递参数的方法称为按引用传递。按引用传递允许被调用的函数能够访问调用函数中的变量。C新增的这项特性是对 C语言的超越&#xff0c;C语言只能按值传递。按值传递导致被调用函数使用调…

电脑报错缺失vcomp140.dll无法执行代码怎么解决?快速的修复vcomp140.dll方案

vcomp140.dll无法执行代码怎么解决&#xff1f;vcomp140.dll是常见的系统文件&#xff0c;许多用户遇到它缺失导致程序无法运行的问题。本文旨在提供彻底解决此问题的方法&#xff0c;并对vcomp140.dll文件本身进行了简要说明。 以下是几种修复缺失的vcomp140.dll文件的方法 第…

车载导航定制_ 基于联发科MT6737核心板的车载终端解决方案

近年来&#xff0c;车载导航在智能化和功能化方面得到了长足的发展&#xff0c;不再仅仅局限于导航功能&#xff0c;而是集成了多种驾驶辅助功能&#xff0c;为驾驶者提供了全方位的行车辅助体验。这些功能包括车辆行车记录、倒车影像、AR实景导航、语音助手、ADAS辅助、云电子…

C++ Qt开发:SqlRelationalTable关联表组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍SqlRelationalTable关联表组件的常用方法及灵…