Python3.10 - 列表的常用方法

news2024/10/12 6:21:49

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类型

07 列表的推导式写法 

lst = [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4'], ['e', '5']]
str_list = [i[0] for i in lst]
print(str_list)    # 生成新的列表

str_dict = {i[0]: i[1] for i in lst}
print(str_dict)    # 生成新的字典

str_set = {(i[0], i[1]) for i in lst}
print(str_set)    # 生成新的集合

str_tuple = ((i[0], i[1]) for i in lst)
print(str_tuple)    # 生成新的元组

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

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

相关文章

会声会影可以制作卡拉OK字幕吗 会声会影制作卡拉OK字幕教程 会声会影视频制作教程 会声会影模板免费下载 会声会影2023永久激活版

会声会影是一款功能强大、操作简便的视频剪辑软件,适合不同级别的用户使用,无论是初学者还是专业人员,都能够轻松地实现自己的创意和想法。这篇文章就一起来学习一下会声会影可以制作卡拉OK字幕吗,会声会影制作卡拉OK字幕教程。 …

stm32之基本定时器的使用

在上文我们使用到了HAL库的自带的延时函数,HAL_Delay();我们来看一下函数的原型 __weak void HAL_Delay(uint32_t Delay) {uint32_t tickstart HAL_GetTick();uint32_t wait Delay;/* Add a freq to guarantee minimum wait */…

数据结构算法题(力扣)——链表

以下题目建议大家先自己动手练习,再看题解代码。这里只提供一种做法,可能不是最优解。 1. 移除链表元素(OJ链接) 题目描述:给一个链表的头节点 head 和一个整数 val ,删除链表中所有满足值等于 val 的节点…

关于ansible的模块 ③

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 接《关于Ansible的模块①》和《关于Ansible的模块②》,继续学习ansible的user模块。 user模块可以增、删、改linux远…

Pycharm显示Low memory的解决办法

这种情况该怎么办呢? 按照网上的说法,首先按照下图,选择memory Indicator: 就可以在pycharm的右下角看到内存以及其分配情况(allocated表示被分配的,可以看到我的已经被分配完了,应该是这个意思&#xff0…

Ubuntu Desktop 安装有道词典

Ubuntu Desktop 安装有道词典 1. 有道词典2. Installation2.1. 解压 deb 包到 youdao 目录2.2. 解压 deb 包中的 control 信息 (包的依赖写在该文件里面)2.3. 编辑 control 文件,删除依赖里面的 gstreamer0.10-plugins-ugly2.4. 创建 youdaobuild 目录,重…

Linux非管理员安装ninja,解决RuntimeError: Ninja is required to load C++ extensions错误

最近在复现代码的时候,需要用到C环境进行编译,这就少不了ninja,但是因为服务器是实验室公用的,所以一般没有管理员权限,所以就很难办!!!! 下面是非管理员权限安装ninja&a…

新型智慧城市大数据解决方案(附下载)

随着云计算、大数据、移动互联网等技术的发展,由城市运行产生的交通、环境、市政、商业等各领域数据量巨大,这些数据经过合理的分析挖掘可产生大量传统数据不能反映的城市运行信息,已成为智慧城市的重要资产。 在大数据时代,数据信…

【EasyExcel】多sheet、追加列

业务-EasyExcel多sheet、追加列 背景 最近接到一个导出Excel的业务,需求就是多sheet,每个sheet导出不同结构,第一个sheet里面能够根据最后一列动态的追加列,追加多少得看运营人员传了多少需求列。原本使用的 pig4cloud 架子&…

excel统计分析——协方差分析的作用

参考资料:生物统计学 1、协变量与试验因素的区别 如果把协方差分析资料中的协变量看作多因素方差分析资料中的一个因素,则两类资料有相似之处,但两类资料有本质的不同。在方差分析中,各因素的水平时人为控制的,即使是…

[flink 实时流基础] flink 源算子

学习笔记 Flink可以从各种来源获取数据,然后构建DataStream进行转换处理。一般将数据的输入来源称为数据源(data source),而读取数据的算子就是源算子(source operator)。所以,source就是我们整…

js手持小风扇

文章目录 1. 演示效果2. 分析思路3. 代码实现 1. 演示效果 2. 分析思路 先编写动画&#xff0c;让风扇先转起来。使用 js 控制动画的持续时间。监听按钮的点击事件&#xff0c;在事件中修改元素的animation-duration属性。 3. 代码实现 <!DOCTYPE html> <html lang…

(表征学习论文阅读)FINITE SCALAR QUANTIZATION: VQ-VAE MADE SIMPLE

1. 前言 向量量化&#xff08;Vector Quantization&#xff09;或称为矢量量化最早在1984年由Gray提出&#xff0c;主要应用于数据压缩、检索领域&#xff0c;具体的阐述可以参考我写的另一篇关于VQ算法的文章。随着基于神经网络的离散表征学习模型的兴起&#xff0c;VQ技术也…

Cisco ACI Simulator 6.0(5h) - ACI 模拟器

Cisco ACI Simulator 6.0(5h) - ACI 模拟器 Application Centric Infrastructure (ACI) Simulator Software 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-acisim-6/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.o…

最新梨花带雨网页音乐播放器

源码简介 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容&#xff1a;修复播放器接口问题&#xff0c;把接口本地化&#xff0c;但是集成外链播放…

AcWing刷题-约数个数

约数的个数 代码 # 计数 def f(x)->int:cnt 0i 1while i * i < x:if x % i 0:cnt 1if i * i < x:cnt 1i 1return cntn int(input()) a list(map(int,input().split())) for i in a:print(f(i))

K8s Deployment 滚动更新、金丝雀发布、自定义钩子、生命周期解析

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、Deployment的高级特性 1、滚动更新 2、金丝雀…

Emacs之解除comment-region绑定C-c C-c快捷键(一百三十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

对一个时间序列中的每个元素按照指定精度位置四舍五入

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对一个时间序列中的每个元素 按照指定精度位置四舍五入 Series.dt.round() 选择题 以下代码的输出结果中正确的是? import pandas as pd ts pd.Series(pd.date_range("2024-04-04 08:…

16 RGB-LCD 彩条显示

RGB TFT-LCD 简介 TFT-LCD 的全称是 Thin Film Transistor-Liquid Crystal Display&#xff0c;即薄膜晶体管液晶显示屏&#xff0c;它显示的每个像素点都是由集成在液晶后面的薄膜晶体管独立驱动&#xff0c;因此 TFT-LCD 具有较高的响应速度以及较好的图像质量。液晶显示器是…