【数据类型-列表】------- PYTHON基础9

news2024/10/6 10:40:02

内容目录

  • 一、数据类型-列表
    • 1. 列表
      • 1.1. 列表的截取 ==result = List[start:end:step]==
      • 1.2. 列表元素的修改 ==List[index] = element==
      • 1.3. 列表元素的删除 ==del List[index] 或 del List[start:end:step]==
      • 1.4. 列表元素的拼接 “+” 或者增量赋值运算符 “+=”
    • 2. 列表常用内置函数 ==对象.内置函数名(参数)==
      • 2.1. list1.extend(list2)
      • 2.2. list1.append(obj)
      • 2.3. list1.sort(reverse=False)
      • 2.4. list1.reverse()
      • 2.5.ind = list1.index(obj)
    • 3. 二维列表

一、数据类型-列表

1. 列表

list1 = [1, 2, 3, 4, 5 ]
list2 = ['Python', 'c++', 1997, 2000]
list3 = ['公主与青蛙', '奇幻森林', '冰川时代', '玩具总动员', '捉妖记']

列表中的索引是从0开始的,故第1个元素的索引是0。
在这里插入图片描述

1.1. 列表的截取 result = List[start🔚step]

list1 = ['Python', 'c++', 1997, 2000, '超人','蝙蝠侠']
list2 = list1[0:2] #或者 list2 = list1[:2] #截取列表索引从0到2之间的元素
print(list2)
list3 = list1[0:4:2] #或者 list2 = list1[:4:2] #截取列表索引从0到4之间的间隔为2的元素
print(list3)
list4 = list1[::2]  #截取全列表间隔为2的元素
print(list4)

['Python', 'c++']
['Python', 1997]
['Python', 1997, '超人']

1.2. 列表元素的修改 List[index] = element

1.3. 列表元素的删除 del List[index] 或 del List[start🔚step]

1.4. 列表元素的拼接 “+” 或者增量赋值运算符 “+=”

list1 = [1,2]
list2 = [3,4]
list3 = list1 + list2
print(list3)
list2 += list1
print(list2)

2. 列表常用内置函数 对象.内置函数名(参数)

2.1. list1.extend(list2)

功能:在列表list1的末尾连接上列表list1
注意:extend括号里的参数必须是列表类型

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

输出

[1, 2, 3, 4, 5, 6]

2.2. list1.append(obj)

功能:在列表list1的末尾添加任意类型的元素obj
注意:如果添加的是列表,则该列表被当成一个元素被添加到列表list1中

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

输出

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

输出

[1, 2, 3, [4]]

2.3. list1.sort(reverse=False)

功能:对列表list1里的元素进行排列,排序结果将会覆盖list1的内容
reverse:设置排序规则,reverse=True表示降序排序; reverse=False表示升序排序(默认)
对列表内的数字进行排序:

list1=[1, 9, 20, 16, 77, 0]
list1.sort()   #省略reverse,则默认升序排序
print(list1)
list1.sort(reverse=True)    #设置reverse,表示降序排序
print(list1)

输出

[0, 1, 9, 16, 20, 77]
[77, 20, 16, 9, 1, 0]

对字母进行排序:

list1=['python', 'c++', 'java', 'php', 'lua']
list1.sort()   #省略reverse,则默认升序排序
print(list1)
list1.sort(reverse=True)    #设置reverse,表示降序排序
print(list1)

输出

['c++', 'java', 'lua', 'php', 'python']
['python', 'php', 'lua', 'java', 'c++']

2.4. list1.reverse()

功能:对列表list1里的元素进行翻转,翻转结果将会覆盖list1的内容

list1=[1, 9, 'python', 100, 'dashima', 77, 0]
list1.reverse()
print(list1)

输出

[0, 77, 'dashima', 100, 'python', 9, 1]

2.5.ind = list1.index(obj)

功能:查找元素’obj’在这个列表list1中第一个被匹配到的位置,并将该位置返还给一个变量ind
obj:需要查找的元素
ind:obj在查找列表中的索引

list1 = [1,9,20,16,16,77,0]
a = list1.index(16)
print(a)

输出

a

如果列表中没有待查找的元素,则程序会抛出异常

3. 二维列表

定义:矩阵

list2D = [
         [0,'语文','数学','英语'],
         ['小明',95,98,99],
         ['莉莉',99,95,100],
         ['大雄',60,10,50]
         ]
print(list2D)

输出

[[0, '语文', '数学', '英语'], ['小明', 95, 98, 99], ['莉莉', 99, 95, 100], ['大雄', 60, 10, 50]]
print(list2D[0][0])    # 取第0行第0列的元素
print(list2D[0][2])    # 取第0行第2列的元素
print(list2D[2][1])    # 取第2行第1列的元素
print(list2D[0])    # 取第0行所有元素
print(list2D[1])    # 取第1行所有元素
print(list2D[2])    # 取第2行所有元素

输出

0
数学
99
[0, '语文', '数学', '英语']
['小明', 95, 98, 99]
['莉莉', 99, 95, 100]

推导表达式:

list2D = [
         ['test','语文','数学','英语'],
         ['小明',95,98,99],
         ['莉莉',99,95,100],
         ['大雄',60,10,50]
         ]

list0 = [i[0] for i in list2D]    # 取第0列
print(list0)
(
相当于
list0 = []
for i in list2D:
    list0.append(i[0])
print(list0)
)

list1 = [i[0]+'ecnu' for i in list2D]
print(list1)

list2 = [i[0]*2 for i in list2D]
print(list2)

输出

['test', '小明', '莉莉', '大雄']
['testecnu', '小明ecnu', '莉莉ecnu', '大雄ecnu']
['testtest', '小明小明', '莉莉莉莉', '大雄大雄']

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

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

相关文章

jdbc工具包

JDBC工具类 介绍 JDBC全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的JavaAPI。应用程序可通过这台API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。 JDBC实现细节 从…

深入浅出C语言——排序

文章目录 排序的概念常见的排序算法冒泡排序选择排序插入排序希尔排序堆排序快速排序hoare版本挖坑法前后指针版本快速排序的非递归形式 归并排序递归版本非递归版本 计数排序排序算法复杂度及稳定性分析 排序的概念 排序就是使用使一串记录,按照其中的某个或某些关…

vue3 nextTick()应用

在Vue3中,可以使用nextTick函数来延迟执行某些操作,这些操作会在下一次DOM更新周期之后执行。这个函数通常用于在数据更新后,等待DOM更新之后执行一些操作,比如获取DOM元素的尺寸、位置等。 nextTick() 例如,以下一个…

C语言—与坤(机)对弈

目录 设计思路 游戏运行效果 函数的声明 头文件game.h 游戏主体(源文件) 1.game.c 2.test.c 各文件的阐述 各部分的设计心得 1.打印菜单 2.初始化棋盘 3.打印棋盘 棋盘最终效果 1.打印数据 2.打印分割线 如何扩展为10 x 10 棋盘? 4.玩家下棋、电脑下…

mkv文件怎么转换成mp4?来看看这四种转换方式吧!

mkv文件怎么转换成mp4?在很多小伙伴看到,图片就是图片,音频就是音频,视频就是视频,它们展现给人们的效果都差不多。但实际上,不管是图片、视频还是音频文件,其中一个重要的区别在于它们的文件格…

照片尺寸怎么调整大小?三个方法,高效、快捷、安全!

照片尺寸怎么调整大小?照片是我们在日常生活和办公中经常会使用的文件类型之一。在制作各种文件、讲义、PPT、视频等内容时,图片都会成为重要的一部分。不同的图片格式和大小各有特点,有些图片虽然比较大但画质清晰,有些则方便传输…

选择排序,直接插入排序

目录 一、选择排序 1.基本思想 2.直接选择排序的流程 3.实验 二、直接插入排序法 1.基本思想 2.直接插入排序法的流程 3.实验 三、反向排序 1.实验 一、选择排序 与冒泡排序相比,直接选择排序的交换次数更少,所以速度会更快。 1.基本思想…

centos linux 配置私有网段并联网

文章目录 1. 创建虚拟机2. 虚拟机 A 配置网络3. 虚拟机 B 分配静态地址4. 测试 1. 创建虚拟机 vcenter 创建两台虚拟机A 、B,如何创建虚拟机请参考这里 虚拟机 A 具备两个网络接口,外网接口为 ens192 ip:192.168.22.6/20,网关为…

Golang tracing:与 OpenTelemetry、jaeger实现 跨服务 全链路追踪

使用 OpenTelemetry 链路追踪说明 工作中常常会遇到需要查看服务调用关系,比如用户请求了一个接口接口会调用其他grpc,http接口,或者内部的方法这样的调用链路,如果出现了问题,我们需要快速的定位问题,这时候就需要一个工具来帮助我们查看调用链路OpenTelemetry就是这样一个工…

Sui改进提案(SIPs)及其审核流程

SIPs提供了一个清晰透明的流程,使社区可以对Sui网络提出改进建议。 Sui基金会致力于打造一个开放协作的生态,因此推出了Sui改进提案(SIPs,Sui Improvement Proposals),这是一个记录社区为去中心化未来的发…

如何利用API做好电商,接口如何凋用关键字

一.随着互联网的快速发展,电子商务成为了众多企业的首选模式,而开放API则成为了电商业务中不可或缺的部分。API(Application Programming Interface),即应用程序接口,是软件系统不同组件之间交互的约定。电…

登录校验2.0

登录校验2.0 Filter Filter详解 过滤器Filter在使用中的一些细节,主要介绍一下3个方面的细节: 过滤器的执行流程过滤器的拦截路径配置过滤器链 执行流程 过滤器当中我们拦截到了请求之后,如果希望继续访问后面的web资源,就要…

内容编排与Kubernetes

第一节 内容编排与Kubernetes 为什么要用k8s 集群环境容器部署的困境,假设我们有数十台服务器。分别部署Nginx,redis,mysql,业务服务。如何合理的分配这些资源。这里就需要用到容器编排 容器编排 在实际集群环境下&#xff0…

线性结构-队列

队列是一种先进先出First In Fisrt Out,FIFO的线性表。 与一般的数组和链表不同,队列要求所有的数据只能从一端进入,从另一端离开。 输入进入的一端叫队尾rear,数据离开的一端叫队头front。 数据只能从队尾进入队列,从队头离开队…

VSCODE配置ROS编译环境

目录 一、安装插件 二、环境配置 2.1初始化工作空间 2.2配置VSCode 2.2.1创建功能包 2.2.2配置 c_cpp_properties.json 2.2.3配置 task.json 2.2.4配置 CMakeLists.txt 三、运行程序 3.1编译程序 3.2启动ros master 3.3执行可执行文件 用VSCode编辑ROS程序时&#xf…

linux 内核内存管理

物理内存 相关数据结构 page(页) Linux 内核内存管理的实现以 page 数据结构为核心,其他的内存管理设施都基于 page 数据结构,如 VMA 管理、缺页中断、RMAP、页面分配与回收等。page 数据结构定义在 include/linux/mm_types.h …

使用 Lambda 函数将 CloudWatch Log 中的日志归档到 S3 桶中

作者:SRE运维博客 博客地址:https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/221205544069/ 相关话题:https://www.cnsre.cn/tags/aws/ 躺了好久,诈尸了。因为换了工作,所以比较忙一直没有时间…

解决APP抓包问题「网络安全」

1.前言 在日常渗透过程中我们经常会遇到瓶颈无处下手,这个时候如果攻击者从APP进行突破,往往会有很多惊喜。但是目前市场上的APP都会为防止别人恶意盗取和恶意篡改进行一些保护措施,比如模拟器检测、root检测、APK加固、代码混淆、代码反调试…

挖出api接口的重要性

作为一名软件开发者,API是我们工作中不可或缺的一部分。无论是将不同系统连接起来,还是构建多组件应用程序,API都是我们的核心工具之一。在本文中,我们将深入讨论API的技术细节和实际应用。 一.首先,我们来看看什么是…

怎么把mkv格式改成mp4?不妨试试这几种方法吧!

怎么把mkv格式改成mp4?mp4是一种多媒体封装格式,不过我们通常会将它说成是视频格式,它可以在一个文件中容纳无限数量的视频、音频、图片或字幕轨道,mp4格式也是被我们每个人所熟知,因为我们每个人几乎每天都会接触或者…