列表(定义、引用、修改、切片和用途)

什么是列表

列表是 Python 中最常用的数据类型之一。它是一种有序、可变,异构的数据集合,可以存储多个不同类型的元素。

列表的特点

列表是 Python 中的一种数据结构,具有以下特点:

  • 有序性: 列表中的元素按照添加的顺序进行存储,每个元素都有一个对应的索引,可以通过索引访问和操作列表中的元素。
  • 可变性: 列表是可变的,也就是说可以通过索引来修改、删除或插入元素。可以改变列表的长度、内容和顺序。
  • 异构性: 列表中可以同时存储不同类型的数据,例如整数、字符串、浮点数、布尔值等。甚至可以存储其他列表或其他复杂的数据结构。

由于列表的有序性、可变性和多样化的数据类型,它是一种非常常用和灵活的数据结构,常用于存储和处理一组相关的数据。列表提供了丰富的方法和操作,使得对数据的管理和处理变得更加方便和高效。

列表的定义

字面量定义

Python 中使用中括号定义列表。

l1 = []  # 创建一个空列表
l2 = [1, 2, 3, "hello", True]  # 创建一个包含多个元素的列表

由于列表具有可变性,所以空列表的定义是被允许且有意义的。

列表的构造方法定义

可能通过列表的构造方法定义列表。

当使用构造方法定义列表时,参数只能是可迭代的对象,构造方法会将参数中的元素构造成为列表的元素。

可以理解为将可迭代的对象强制类型转换为列表。

l1 = list("abc")
l2 = list((1,2,3))
l3 = list([1,2,3])

列表中元素的引用

列表同字符串,元组一样,也可以使用下标形式引用列表中的元素。并且,下标不能超过列表的元素个数减一,否则会抛出下标越界错误。

l = [1,2,3,4,5]
print(l[0])
print(l[3])
print(l[5])

列表中元素的修改

由于列表的可变特性,可以通过下标的方式,对列表中的元素进行修改。

l = [1,2,3,4,5]
l[0] = 111
l[3] = 444

列表的切片操作

列表的切片操作同字符串,元组一致

l = [1,2,3,4,5]
print(l[0:3])
print(l[:3])
print(l[3:])
print(l[:])
print(l[::-1])

列表的用途

列表在 Python 中具有广泛的用途,主要包括以下几个方面:

  • 存储一组相关的数据: 列表是一种有序的数据结构,可以用于存储一组相关的数据,如学生的成绩、员工的信息、商品的价格等。通过将相关的数据放入列表中,可以方便地进行统一的管理和处理。
  • 数据的容器: 列表提供了便捷的操作方法,可以进行遍历、搜索、插入和删除等操作。通过索引,可以访问列表中的特定元素;通过遍历,可以逐个处理列表中的元素;通过方法,可以在列表中插入新元素、删除指定元素等。
  • 算法和数据结构中的应用: 列表是一种重要的数据结构,广泛应用于算法和数据结构的实现中。例如,列表可以用于实现栈(Stack)、队列(Queue)、链表(LinkedList)等数据结构,还可以用于排序算法、搜索算法等的实现。
  • # 列表的使用
    # 有序可变异构
    def list_info():# 定义列表# 字面量方式定义l1 = []print(l1)print(type(l1))l2 = [1, 1, 1, 1, 1, 1, 2, 3, "a", "b", "c", (1, 2), [3, 4]]print(l2)print(type(l2))# 使用构造方法定义l1 = list("abc")print(l1)l2 = list((1, 2, 3, 4))print(l2)l3 = list([1, 2, 3, 4])print(l3)l1 = [1, 2, 3, 4, 5]print(l1[0])print(l1[3])# print(l1[5])l2 = [1, 1, 1, 1, 1, 2, 3, "a", "b", "c", (1, 2), [3, 4]]print(l2[10][1])print(l2[11][1])# 列表元素修改l1 =[1,2,3]print(l1)l1[0] =222print(l1)print(type(l1))# 列表切片l1 = [1,2,3,4,5,6,7,8,9]print(l1[0:4])print(l1[:5])print(l1[3:])print(l1[::2])print(l1[::-1])list_info()

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

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

相关文章

【学术会议征稿】第五届计算机工程与智能控制学术会议(ICCEIC 2024)

第五届计算机工程与智能控制学术会议(ICCEIC 2024) 2024 5th International Conference on Computer Engineering and Intelligent Control 第五届计算机工程与智能控制学术会议(ICCEIC 2024)将于2024年10月18日至22日在广州举办&#xff0…

improved-diffusion代码逐行理解之train

目录 代码理解1、解析命令行参数2、分布式设置和日志配置3、创建模型和扩散过程4、加载数据5、训练循环6、训练过程中的关键点7、日志和模型保存 代码 improved-diffusion代码地址:https://github.com/openai/improved-diffusion 运行代码会遇到的几个问题&#xf…

LDR6282-显示器:从技术革新到视觉盛宴

显示器,作为我们日常工作和娱乐生活中不可或缺的一部分,承载着将虚拟世界呈现为现实图像的重要使命。它不仅是我们与电子设备交互的桥梁,更是我们感知信息、享受视觉盛宴的重要窗口。显示器在各个领域的应用也越来越广泛。在办公领域&#xf…

Gradle使用插件SonatypeUploader-v2.6上传到maven组件到远程中央仓库

本文基于sonatypeUploader 2.6版本 插件的使用实例:https://github.com/jeadyx/SonatypeUploaderSample 发布步骤 提前准备好sonatype账号和signing配置 注:如果没有,请参考1.0博文的生成步骤: https://jeady.blog.csdn.net/art…

收银系统源码-营销活动-幸运抽奖

1. 功能描述 营运抽奖:智慧新零售收银系统,线上商城营销插件,商户/门店在小程序商城上设置抽奖活动,中奖人员可内定; 2.适用场景 新店开业、门店周年庆、节假日等特定时间促销;会员拉新,需会…

SQLServer连接异常

2. 文件夹对应的是[internal].[folders]表,与之相关的权限在[internal].[folder_permissions]表 项目对应的是[internal].[projects]表,与之相关的权限在[internal].[project_permissions],版本在[internal].[object_versions]表。 环境对应…

MongoDB本地配置分片

mongodb server version: 7.0.12 社区版 mongo shell version: 2.2.10 平台:win10 64位 控制台:Git Bash 分片相关节点结构示意图 大概步骤 1. 配置 配置服务器 副本集 (最少3个节点) -- 创建数据目录 mkdir -p ~/dbs/confi…

华为eNSP:HCIA汇总实验

本次拓扑实验需求: 1、内网地址用DHCP 2、VLAN10不能访问外网 3、使用静态NAT 实验用到的技术有DHCP、划分VLAN、IP配置、VLAN间的通信:单臂路由、VLANIF,静态NAT、基本ACL DHCP是一种用于自动分配IP地址和其他网络参数的协议。 划分VLA…

新型模型架构(参数化状态空间模型、状态空间模型变种)

文章目录 参数化状态空间模型状态空间模型变种Transformer 模型自问世以来,在自然语言处理、计算机视觉等多个领域得到了广泛应用,并展现出卓越的数据表示与建模能力。然而,Transformer 的自注意力机制在计算每个词元时都需要利用到序列中所有词元的信息,这导致计算和存储复…

Butterfly主题添加动画加载效果

安装插件 安装插件,在博客根目录[Blogroot]下打开终端,运行以下指令: npm install hexo-butterfly-wowjs --save添加配置 添加配置信息,以下为写法示例 在站点配置文件_config.yml或者主题配置文件_config.butterfly.yml中添加 wowjs:ena…

简单介绍 Dagger2 的入门使用

依赖注入 在介绍 Dagger2 这个之前,必须先解释一下什么是依赖注入,因为这个库就是用来做依赖注入的。所以这里先简单用一句话来介绍一下依赖注入: 依赖注入是一种设计模式,它允许对象在运行时注入其依赖项。而不是在编译时确定&a…

Andorid 11 InputDispatcher FocusedApplication设置过程分析

在Input ANR中,有一类ANR打印的reason 为 “xx does not have a focused window” ,表明 输入事件 5s 内,只有FocusedApplication,而没找到focused window。本文分析下FocusedApplication的设置过程。 setFocusedApp 源码路径&am…

iOS 应用内存超过多少会收到系统内存警告 ?

iOS 应用内存超过多少会收到系统内存警告 ? 在 iOS 应用中,系统内存警告的触发是由 iOS 操作系统动态决定的,并不是一个固定的阈值。系统会根据当前设备的可用内存、正在运行的其他应用程序的内存需求以及当前应用程序的内存占用情况来判断是…

用PlantUML可视化显示JSON

概述 PlantUML除了绘制UML中的一些标准图之外,也可以以图形化的方式显示一些其他图形或数据形式的结构,这其中就包括JSON。 它以一种简单且优美的图形形式,表达了JSON的结构。你可以用它来作为设计JSON数据文件的依据,辅助设计或…

day01:项目概述,环境搭建

文章目录 软件开发整体介绍软件开发流程角色分工软件环境 外卖平台项目介绍项目介绍定位功能架构 产品原型技术选型 开发环境搭建整体结构:前后端分离开发前后端混合开发缺点前后端分离开发 前端环境搭建Nginx 后端环境搭建熟悉项目结构使用Git进行版本控制数据库环…

【C++】AVL树(旋转、平衡因子)

🌈个人主页:秦jh_-CSDN博客🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12575764.html?spm1001.2014.3001.5482 ​ 目录 前言 AVL树的概念 节点 插入 AVL树的旋转 新节点插入较高左子树的左侧---左左:…

【C++】stack和queue的模拟实现 双端队列deque的介绍

🔥个人主页: Forcible Bug Maker 🔥专栏: STL || C 目录 🌈前言🔥stack的模拟实现🔥queue的模拟实现🔥deque(双端队列)deque的缺陷 🌈为什么选择…

基于Go 1.19的站点模板爬虫

创建一个基于Go 1.19的站点模板爬虫涉及到几个关键步骤:初始化项目,安装必要的包,编写爬虫逻辑,以及处理和存储抓取的数据。下面是一个简单的示例,使用goquery库来解析HTML,并使用net/http来发起HTTP请求。…

【containerd】解决敲击crictl images命令报错问题

【Containerd】解决输入crictl images命令报错问题 文章目录 【Containerd】解决输入crictl images命令报错问题问题复现解决办法验证结果参考链接 问题复现 [rootmaster01 ~]# crictl images WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim…

七、Docker常规软件安装

目录 一、总体步骤 二、安装tomcat 1、docker hub上查找tomcat镜像 三、安装MySQL 1、查看MySQL镜像 2、拉取MySQL镜像到本地,本次拉取MySQL5.7 3、使用MySQL镜像创建容器 4、使用Windows数据库工具,连接MySQL实例 5、常见问题 6、创建MySQL容器实例 7、新…