当前位置: 首页 > news >正文

Python列表

使用场景:列表是用来存储多组数据的
列表是可变类型
列表支持切片

1.基本规则

1.列表使用[]来表示
2.初始化列表:list = []
3.列表可以一次性存储多个数据:[数据1,数据2,数据3,…]
4.列表中的每一项,都能是不同的数据类型。(包括列表)
示例:

#列表的元素多种多样(指类型)
test_list = [1,'a',[1,2],{"name":"刘备"},{2,3},(1,2,"李四")]
#列表的输出
names_list = ['刘备','曹操','孙权']
print(names_list[0])
print(names_list[1])
print(names_list[2])
print(names_list)

2.常用操作

2.1查找

2.1.1 下标查找
name_list=['tom','lily','rose']
print(name_list[0]) # tom
2.1.2 函数(方法)查找

index()::返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置的下标,结束位置的下标)
注意:如果查找的数据不存在则报错

name_list = ['tom','lily','rose']
print(name_list.index('tom')) # 0

count():统计指定数据在当前列表中出现的次数

name_list=['tom','lily','rose']
print(name_list.count('tom')) # 1

len():可以获取列表的长度,即列表中数据的个数

name_list=['tom','lily','rose']
print(len(name_list)) # 3
2.1.3 判断是否存在

in:判断指定的数据在某个列表序列,如果在返回True,否则返回False

name_list=['tom','lily','rose']
print('lily'in name_list) #True
print('yao' in name_list) #False

not in :判断指定的数据不在某个列表序列,如果不在返回True,否则返回False

name_list=['tom','lily','rose']
print('tom' not in name_list) # False
print('yaoyao' not in name_list) #True

2.2 增加

append():列表尾部追加数据
语法:列表序列.append(数据)

name=['tom','lily','rose']
name.append('xiaoming')
print(name)#['tom','lily','rose','xiaoming']

注意:如果append()追加的数据是一个序列,则追加整个序列到列表,整体新增一个元素。

name_list = ['tom','lily','rose']
name_list.append(['xiaoming','xiaohong'])
print(name_list)
# 结果:['tom', 'lily', 'rose', ['xiaoming', 'xiaohong']]

extend(): 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一加入列表中(与append对比)
语法:列表序列.extend(数据)

#单个数据,迭代进行插入
name_list1 = ['tom','lily','rose']
name_list1.extend('abc')
print(name_list1)#['tom', 'lily', 'rose', 'a', 'b', 'c']
#序列数据,迭代进行插入
name_list2 = ['tom','lily','rose']
name_list2.extend(['a','b','c'])
print(name_list2)#['tom', 'lily', 'rose', 'a', 'b', 'c']

insert(): 指定位置新增数据
语法:列表序列.insert(位置下标,数据)

name_list = ['tom','lily','rose']
name_list.insert(0,'yaoyao')
print(name_list)
# 结果:['yaoyao', 'tom', 'lily', 'rose']

2.3删除

del
语法:del 目标


#删除一个元素
name_list = ['tom','lily','rose']
del name_list[0]
print(name_list)#['lily','rose']
#删除整个列表
del name_list
print(name_list)#NameError: name 'name_list' is not defined,因为删除了,print找不到name_list,所以报错

remove()

name_list = ['tom','lily','rose']
del_name = name_list.remove("tom") #
print(name_list)#['lily','rose']

pop():删除指定下标的数据(默认为最后一个),并返回该数据
语法:列表.pop(index)

name_list = ['tom','lily','rose']
del_name = name_list.pop(0) # 返回的是被删除的元素
print(del_name)   #tom
print(name_list)#['lily', 'rose']
# 不加索引,默认删除最后一个元素
name_list.pop()
print(name_list)#['lily']

clear():清空列表

name_list = ['tom','lily','rose']
name_list.clear() #清除列表里面的所有元素
print(name_list)# 结果是[]

2.4修改

修改指定下标数据:

name_list = ['tom','lily','rose']
name_list[0]='yaoyao'
name_list[2]="yaoyao"
print(name_list)#['yaoyao', 'lily', 'yaoyao']

返回数据在列表中的索引:

name_list = ['tom','lily','rose']
print(name_list.index("tom"))#0

逆转:reverse()

name_list=['tom','lily','rose']
name_list.reverse()
print(name_list)# ['rose', 'lily', 'tom']

排序:sort()
语法:列表.sort(key=None,reverse=False)
注意:reverse表示排序规则,reverse=True 降序,reverse=False 升序(默认)

name_list=[1,7,3,2,8]
name_list.sort()
print(name_list)# [1, 2, 3, 7, 8]

连接:join关键字
语法:分隔符.join(元组和列表) -----把列表和元组转换成字符串
注意:只能够用在存储字符串类型的列表或元组

name_list = ['tom','lily','rose']
print(' '.join(name_list))#tom lily rose
print('*'.join(name_list))#tom*lily*rose

3.列表嵌套

应用场景:要存储高三三个班级的学生名字,每个班级的学生名字为一个列表

name_list = [['xiaoming','xiaohong','xiaoli'],['tom','lily','rose'],['小李','小
杨','小张']]
#如何查找到数据"小李"
print(name_list[2][0])

4.列表推导式

作用:列表推导式:使用一行代码简单快速的创建一个列表。

# 生成一个列表
num_list = [value for value in range(1, 4)]#value 就是往列表中插入的值,可对value 再进行操作
print(num_list)#[1,2,3]
# 对列表中的数据进行过滤
data_list = [1, 9, 2, 10]
new_list = [value for value in data_list if value % 2 == 0]
print(new_list)#[2,10]
new_list2 = [str(value) for value in data_list if value % 2 == 0]
print(name_list2)#['2','10']
print(' '.join(name_list2))
# 字符串转列表,每个元素复制成两份
info_str = "abc"
new_str = [value * 2 for value in info_str]
print(new_str)#['aa', 'bb', 'cc']

相关文章:

Python列表

使用场景:列表是用来存储多组数据的 列表是可变类型 列表支持切片 1.基本规则 1.列表使用[]来表示 2.初始化列表:list [] 3.列表可以一次性存储多个数据:[数据1,数据2,数据3,…] 4.列表中的每一项&#…...

谈谈系列之金融直播展业畅想

近些年直播异常火热,对于各大中小型基金证券公司,也纷纷引入直播作为新型展业渠道。在这其中有一部分直接采用第三方云平台,也有少部分选择自建直播平台。当然自建直播平台也不是纯自研,大抵都是外购第三方厂商整体解决方案&#…...

【C 数据结构】双向链表

文章目录 【 1. 基本原理 】【 2. 双向链表的 创建 】实例 - 输出双向链表 【 3. 双向链表 添加节点 】【 4. 双向链表 删除节点 】【 5. 双向链表查找节点 】【 7. 双向链表更改节点 】【 8. 实例 - 双向链表的 增删查改 】 【 1. 基本原理 】 表中各节点中都只包含一个指针&…...

Leetcode刷题之消失的数字(C语言版)

Leetcode刷题之消失的数字(C语言版) 一、题目描述二、题目解析 一、题目描述 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作…...

LeetCode654:最大二叉树

题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 …...

AI禁区徘徊监测识别摄像机

AI禁区徘徊监测识别摄像机是一种基于人工智能技术的智能监控设备,用于监测禁止进入或逗留的区域。这种摄像机通过高清摄像头实时捕捉场景图像,利用AI算法对人员徘徊行为进行识别和监测,有助于提高安全防范水平,减少潜在的安全风险…...

【学习】什么是信创适配性测试?信创适配性测试的重要性有哪些?

随着信息技术的快速发展和广泛应用,信息技术应用创新(信创)已成为推动我国产业升级和经济发展的重要力量。在信创领域,适配性测试至关重要,它不仅关系到信创产品的质量和性能,还直接影响到用户的使用体验和…...

linux 配置服务开机启动

一、Centos 中配置进程开启启动 1、使用 systemd 服务: (1)创建一个名为 myapp.service 的服务文件: [Unit] DescriptionMyApp #描述 After #描述服务类别 [Service] Typefork…...

React中State管理的4 个关键解决方案

在 React 应用开发中,状态(state)管理是非常重要的一部分。合理地管理状态可以确保组件的行为正确,提高应用的可维护性和性能。然而,在实际使用 React 的 state 时,开发者常常会遇到一些常见的问题和陷阱。 本文将从解决问题的角度,总结 React 中 state 管理的4个关键技巧: 使…...

Testng测试框架(6)--@Factory动态地创建测试类的实例

工厂允许您动态地创建测试。例如,假设您想创建一个测试方法,该方法将多次访问网站上的某个页面,并且您希望使用不同的值来调用它。 public class TestWebServer {Test(parameters { "number-of-times" })public void accessPage(…...

Kubernetes(K8s)运维实战:案例解析与代码实践

一、引言 随着容器技术的普及,Kubernetes(K8s)作为容器编排领域的领军者,已成为企业运维不可或缺的工具。K8s以其强大的自动化管理、可扩展性和高可用性等特点,为运维人员提供了便捷、高效的管理手段。本文将结合具体案…...

nginx反向代理配置详解

首先配置端口 server {listen 3080; server_name 172.20.109.27 localhost;}为了解决刷新后显示404的问题,增加配置如下: location / {root html;index index.html index.htm;try_files $uri $uri.html $uri/ mongrel;}location mongrel {# ip…...

【LeetCode】单调栈类题目详解

所有题目均来自于LeetCode,刷题代码使用的Python3版本 单调栈 通常针对一维数组的问题,如果需要寻找一个元素右边或者左边第一个比自己大或者小的元素的位置,就可以使用单调栈,时间复杂度为O(n) 单调栈的本质是空间换时间&#…...

Python上解决TypeError: not all arguments converted during string formatting错误

目录 背景尝试1: pymysql模块的escape_string方法尝试2: 修改pandas.read_excel引擎尝试3: 回退xlrd版本总结 背景 在Linux上部署的时候, 使用pandas模块读取Excel, 然后pymysql模块入库, 结果发生了错误 Traceback (most recent call last):File "/usr/local/lib64/pyth…...

ASUS华硕ROG幻16Air笔记本电脑GU605M原装出厂Win11系统工厂包下载,带有ASUSRecovery一键重置还原

适用型号:GU605MI、GU605MY、GU605MZ、GU605MV、GU605MU 链接:https://pan.baidu.com/s/1YBmZZbTKpIu883jYCS9KfA?pwd9jd4 提取码:9jd4 华硕原厂Windows11系统带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系统属性联机支持…...

【OpenVINO™】使用 OpenVINO™ C# API 部署 YOLOv9 目标检测和实例分割模型(上篇)

YOLOv9模型是YOLO系列实时目标检测算法中的最新版本,代表着该系列在准确性、速度和效率方面的又一次重大飞跃。它通过引入先进的深度学习技术和创新的架构设计,如通用ELAN(GELAN)和可编程梯度信息(PGI)&…...

代码随想录——二分查找(一)

模版 func BinarySearch(nums *int,target int){l,r:0,len(nums)-1for l<r{mid:l(r-l)/2if nums[mid]target{return mid}else if nums[mid]<target{lmid1}else{rmid-1}}return -1 }特点 查找条件可以在不与元素的两侧进行比较的情况下确定&#xff08;或使用它周围的特…...

【NLP】多标签分类【下】

文章目录 简介个人博客与相关链接1 实验数据与任务说明2 模型介绍2.1 TransformerTransformer能做什么&#xff1f; 2.2 Hugging FaceHugging Face的Transformers库社区支持和资源预训练模型的应用 2.3 T5模型&#xff08;Text-To-Text Transfer Transformer&#xff09;T5的核…...

HWOD:密码强度等级

一、知识点 回车键的ASCII码是10 如果使用EOF&#xff0c;有些用例不通过 二、题目 1、描述 密码按如下规则进行计分&#xff0c;并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0…...

期货学习笔记-MACD指标学习2

MACD底背离把握买入多单的技巧 底背离的概念及特征 底背离指的是MACD指标与价格低点之间的对比关系&#xff0c;这里需要明白的是MACD指标的涨跌动能和价格形态衰竭形态之间的关系&#xff0c;如果市场价格创新低而出现衰竭形态同时也有底背离形态的出现&#xff0c;此时下跌…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...