Python3.10 - 列表的常用方法

01 列表的切片

lst = ['a', 'b', 1, 2, ['c1', 1]]

# 01 列表的切片
lst1 = lst[0:2]  # 从0开始切到1(顾头不顾尾), 切得长度超过1时, 切出来为list类型
print(lst1, type(lst1))

lst2 = lst[0]  # 从中切某个元素时, 切出来的类型即元素本身, 以下同理
print(lst2, type(lst2))

lst3 = lst[2]
print(lst3, type(lst3))

lst4 = lst[4]
print(lst4, type(lst4))

lst5 = lst[-1:-3:-1]  # 第三个参数为-1时, 表示从右往左切, 也是顾头不照尾
print(lst5, type(lst5))

lst6 = lst[::-1]  # 列表反切
print(lst6, type(lst6))

 02 往列表中添加元素

list = ['a', 'b', 1, 2, ['c1', 1]]

list.append({'工号': '001'})  # append()一次只能添加一个元素, 并且在列表最后
print(list)
print(list.append('test'))  # None

lst7 = list.append('test')  # 注意append方法直接对列表进行修改, 返回None值, 不需要重新赋值list_a
print(lst7, type(lst7))  # None

lst8 = list.insert(0, '首字')  # insert同理
print(list)
print(lst8)    # None

lst9 = list.extend('briwen')  # 逐个字母添加元素
print(list)
print(lst9)    # None

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)

03 列表中删除元素

list = ['a', 'b', 1, 2, ['c1', 1]]
lst10 = list.remove('a') # 有多个重复的元素时, 只删除第一个
print(list)
print(lst10)  # None

list = ['a', 'b', 1, 2, ['c1', 1]]
lst11 = list.pop()  # pop()不带参数时, 默认删除最后一个元素
print(list)
print(lst11)  # 返回被删除的元素

list = ['a', 'b', 1, 2, ['c1', 1]]
lst12 = list.pop(-1)  # pop()带参数时, 删除指定索引的元素
print(list)
print(lst12)  # 返回被删除的元素

list = ['a', 'b', 1, 2, ['c1', 1]]
del list[-1]  # 删除指定索引的元素
print(list)

04 列表的拷贝

# 列表的浅拷贝, b和a共享同一块内存空间, 所以无论是a或b列表进行了修改, print的结果都会同步改变
a = [1, 2, 3, 4, 5]
b = a
a.append('新增元素a')
b.append('新增元素b')
print(a)
print(b)

# 列表的深拷贝,新列表b会开启新的内存空间,a和b的内存相互独立,print的结果互不影响
a = [1, 2, 3, 4, 5]
b = a[:]
a.append('新增元素aa')
b.append('新增元素bb')
print(a)
print(b)

# 列表的copy拷贝: 深拷贝
a = [1, 2, 3, 4, 5]
b = a.copy()
a.append('新增元素aa')
b.append('新增元素bb')
print(a)
print(b)

# # 列表的deepcopy拷贝, 3.10版本没有deepcopy方法, copy默认是深拷贝(见上)
# a = [1, 2, 3, 4, 5]
# b = a.deepcopy()
# a.append('新增元素aa')
# b.append('新增元素bb')
# print(a)
# print(b)

 

05列表的排序

# 05 列表的排列
list = [1, 6, 3, 4, 5]
list.sort()  # 默认升序排列
print(list)

list.sort(reverse=False)
print(list)  # 升序排列, 等同于默认情况

list.sort(reverse=True)
print(list)  # 降序排列

list.reverse()
print(list)  # 翻转列表

 06列表的其他操作

lst = ['a', 'b', 1, 2, ['c1', 1], 1, 1, 1]

a = lst.index('a')
print(a)  # 返回元素的索引
b = lst.index('ccc')
print(b)    # 程序报错,  元素不在列表中

cnt = lst.count(1)
print(cnt)  # 返回元素个数
cnt = lst.count(100)
print(cnt)  # 元素不存在时, 返回0

lst.clear()
print(lst, type(lst.clear()))  # 返回空列表, NoneType类型

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

“由于找不到opencv_world3413.dll,无法继续执行代码”的解决方法

问题 在Windows系统中,编译完涉及到opencv的项目后,提示, 由于找不到opencv_world3413.dll,无法继续执行代码 解决方法 在编译好的opencv的bin文件内(如:D:\code\vs2017\opencv\build\x64\vc15\bin&…

Spring Boot 学习(2)——HelloWorld

HelloWorld!全宇宙码农的第一个(行)程序(代码)。 1、创建项目 打开idea,新建一个maven项目。 1)选择项目sdk(本例是1.8) 2)输入GroupId(co…

FME学习之旅---day20

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:AutoCAD 入门 FME使用四种主要格式来读取和写入AutoCAD图形文件;初级教程重点介绍AutoDesk AutoCAD DWG\DXF(ACAD) AutoCAD中常用的术语 实体:AutoCAD 图元表示 D…

超强命令行解析工具Apache Commons CLI

概述 为什么要写这篇文章呢?因为在读flink cdc3.0源码的时候发现了这个工具包,感觉很牛,之前写过shell命令,shell是用getopts来处理命令行参数的,但是其实写起来很麻烦,长时间不写已经完全忘记了,现在才发现原来java也有这种工具类,所以先学习一下这个的使用,也许之后自己在写…

封装一个vue3的公共组件

在Vue 3中,封装公共组件的场景包括但不限于以下几种情况: 重复使用的组件:如果你发现某个组件在多个地方重复使用,那么将其封装成公共组件是很有意义的。比如,页面中的各种表单控件(输入框、下拉框、日期选…

梵宁教育春日主题大奖赛

梵宁教育春日主题大赛正式拉开帷幕,我们诚挚邀请各位同学积极参与,用你们的创意和才华诠释春天的魅力。 本次大赛以春日为主题,参赛作品形式多样,包括海报设计和剪辑创作。我们鼓励同学们发挥想象力,将春天的美好瞬间、…

Golang和Java的对决:从设计理念到工具链的全面比较

文章目录 使用率排名Golang和Java设计理念语法和类型系统并发处理资源消耗生态系统和工具链 结语 使用率排名 据最新的2024年3月 Tiobe 编程语言排行榜,目前 Golang 的使用率排名为第8呈上升趋势,Java 的使用率排名为第4呈下降趋势 2024年3月2023年3月…

Go——函数

一. 函数定义 1.1 特点 无需声明原型支持不定变参支持多返回值支持命名返回参数支持匿名函数和闭包函数也是一种类型,一种函数可以赋值给变量不支持嵌套,一个包不能有两个名字一样的函数不支持重载不支持默认参数 1.2 函数声明 函数声明包含一个函数名&…

谈谈考研数学几个常见误区

25考研数学,一定一定要吃透基础,练好计算 我之所以要强调这个,是因为现在的考研数学,越来越重视基础和计算的考察,题海战术已经过时,如果想要有效的提升自己,要进行针对性的学习。我去年考研的…

【.NET全栈】.NET全栈学习路线

一、微软官方C#学习 https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/ C#中的数据类型 二、2021 ASP.NET Core 开发者路线图 GitHub地址:https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md 三、路线…

常州威雅:「西陵氏奖学金」项目,只为寻找优秀的你!

栀子花开,凤凰花落,又是一年中考季。站在深耕“全人教育”的第十年,常州威雅现今面向全社会的优秀初三学子,首次推出「西陵氏奖学金」项目,助力梦想起航。 西陵氏女嫘祖,华夏文明的奠基人。她所发现、发明的…

Flutter iOS上架指南

本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能…

VMware虚拟机三种网络模式配置

vmware有三种网络工作模式:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。 1. 打开网络编辑器(编辑 --> 虚拟网络编辑器) 在主机上有VMware Ne…

提效5倍,传统零售企业实时数据分析策略与应用实践

国家统计局数据显示,在过去的 2023 年里,中国社会消费品零售额整体增长稳定,零售业态消费开始恢复性增长。 同时,随着移动互联网的持续爆发增长,零售市场的竞争仍日益激烈。传统零售企业不仅要面对来自其他传统零售商的…

C++ 中的 vector 的模拟实现【代码纯享】

文章目录 C 中的 vector 模拟实现1. vector 的基本概念2. vector 的基本操作3. vector 的模拟实现4.代码纯享5. 总结 C 中的 vector 模拟实现 在 C 中,vector 是一个非常重要的容器,它提供了动态数组的功能。在本篇博客中,我们将尝试模拟实现…

结构体,联合体,枚举( 2 )

目录 2.联合体 2.1联合体类型的声明 2.2联合体的特点 2.3联合体的内存大小 3.枚举 3.1枚举类型的声明 3.2枚举类型的优点 3.3枚举类型的使用 2.联合体 联合体(Union)是另一种复合数据类型,它允许我们在同一内存位置存储不同的数据类型…

携程获取景点详情 API 返回值说明,item_get_scenic-获取景点详情

xiecheng.item_get_scenic 请求示例,API接口接入Anzexi58 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_sea…

AI预测福彩3D第25弹【2024年4月2日预测--第6套算法开始计算第2次测试】

今天,咱们进行第6套算法测试,本套算法将结合012路直选共27种组合,同时考虑了对012路的和值进行统计分析。今天为第2次测试,好了,废话不多说了。直接上结果~ 仍旧是分为两个方案,1大1小。 经过人工神经网络计…

使用minikube安装使用单机版K8S(docker)

前置:作为一个开发,工作之余想玩一下k8s,但是搭建成本太高,所以就找到了minikube这个工具,快速搭建单机版k8s,下面是个人搭建流程,基于centos7,仅供参考。 1.下载kubectl&#xff0…

[强推] 免费AI学习资料丨学习完还能获得微软证书,太香了!

五分钟白嫖一张微软学习证书 📅 重要日期: 🚀 开始:2024年4月1日 🔚 结束:2024年5月1日 如何参与: 🔗 挑战链接:立即参与 📃 提交表格:提交…