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 }特点 查找条件可以在不与元素的两侧进行比较的情况下确定(或使用它周围的特…...
【NLP】多标签分类【下】
文章目录 简介个人博客与相关链接1 实验数据与任务说明2 模型介绍2.1 TransformerTransformer能做什么? 2.2 Hugging FaceHugging Face的Transformers库社区支持和资源预训练模型的应用 2.3 T5模型(Text-To-Text Transfer Transformer)T5的核…...
HWOD:密码强度等级
一、知识点 回车键的ASCII码是10 如果使用EOF,有些用例不通过 二、题目 1、描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0…...
期货学习笔记-MACD指标学习2
MACD底背离把握买入多单的技巧 底背离的概念及特征 底背离指的是MACD指标与价格低点之间的对比关系,这里需要明白的是MACD指标的涨跌动能和价格形态衰竭形态之间的关系,如果市场价格创新低而出现衰竭形态同时也有底背离形态的出现,此时下跌…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
