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

什么是列表

列表是 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] =222
        print(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.mfbz.cn/a/783408.html

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

相关文章

惟客数据Q2荣誉成绩单新鲜出炉

作为众多头部企业客户的数字化经营合作伙伴 WakeData惟客数据一直坚持以客户为中心,以数据驱动 致力于让数据智能商业落地更敏捷 凭借值得信赖的客户经营数字化和资源管理数字化实力 惟客数据在2024年第二季度斩获多项荣誉 1、 第一新声《2023年度中国高科技高…

从入门到精通:Shopee,lazada,temu自养号测评成本、步骤、技巧详解

测评对于卖家来说是一种成本低回报快的推广方式,可以减少高额的平台广告费用,因此是一种很好的辅助手段,对商品的曝光、流量、转化和权重等方面起到了很好的辅助作用 建议还是自己精养一批账号,账号在自己手里比较安全可控&#…

python中getattr/setattr/hasattr/delattr函数都是干什么的?

目录 1、getattr:动态获取属性 🔍 1.1 动态获取属性 1.2 默认值处理技巧 1.3 实战案例:配置文件动态加载 2、setattr:动态设置属性 🛠 2.1 修改对象属性 2.2 新增属性场景 2.3 应用场景:类的动态配置…

Linux 命令历史、补全和正则表达式

1.命令历史就和windows的ctrlz一个概念,就是返回上一次的命令。 按下小键盘上下切换 ctrlc可以终止本次输入,进行下一次输入。 2.tab键可以自动补全(有点鸡肋) 3.正则表达式 类似于word的快速搜索,Linux也是用*和…

浅析C++引用

浅析C引用"&" ​ C中引入了一个新的语言特性——引用(&),它表示某一对象的别名,对象与该对象的引用都是指向统一地址。那么我们就来看看关于引用的一些知识点吧🧐 特性 引用在定义时必须初始化一个变量可以有多个引用引…

zdppy_api+vue3+antd前后端分离开发,使用描述列表组件渲染用户详情信息

后端代码 import api import upload import time import amcomment import env import mcrud import amuserdetailsave_dir "uploads" env.load(".env") db mcrud.new_env()app api.Api(routes[*amcomment.get_routes(db),*amuserdetail.get_routes(db…

记一次微信小程序逆向

扫码领取网安教程 遇到瓶颈了,不知道该干什么,突然想到学校的小程序 闲来无事就看一看 抓包下来的数据是这样的,嗯,下机(hhh 一、反编译程序 加密嘛,之前抓了看到是加密就放弃了,现在重新弄一…

轻松转换!两款AI工具让word秒变ppt!

想把Word文档一键生成PPT,过去有一个很常见的做法:先在Word文档中设置标题样式,通过标题样式来分隔每一部分,之后导出为PPT,就能得到一份PPT的雏形,但这种方法无法对PPT自动进行美化,即得到的只…

js替换对象内部的对象名称或属性名称-(第二篇)递归

1.代码示例: function replaceKey(obj, oldKey, newKey) {// 如果不是对象或者oldKey不存在,直接返回原对象if (typeof obj ! object || !obj || !(oldKey in obj)) return obj;// 如果是数组,遍历数组每个元素if (Array.isArray(obj)) {obj…

【Python】一文向您详细介绍 np.inner()

【Python】一文向您详细介绍 np.inner() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,曾…

君方智能设计平台-对象持久化技术方案

1.背景介绍 1.1序列化功能 序列化是将复杂的图形对象、数据结构或对象转换成一种可被存储、传输或分享的格式的过程。这个格式通常是二进制或文本形式,能够轻松地保存在文件中或通过网络发送到其他应用程序。序列化的目的是将数据持久化,使其在不同时间…

【学术会议征稿】2024年第四届工商管理与数据科学学术会议(BADS 2024)

2024年第四届工商管理与数据科学学术会议(BADS 2024) 2024 4th International Conference on Business Administration and Data Science 2024年第四届工商管理与数据科学学术会议(BADS 2024)将于2024年10月25-27日在新疆喀什召开,由喀什大学支持本次会议。会议旨…

Mapboxgl 根据 AWS 地形的高程值制作等高线

更多精彩内容尽在dt.sim3d.cn&#xff0c;关注公众号【sky的数孪技术】&#xff0c;技术交流、源码下载请添加VX&#xff1a;digital_twin123 使用mapboxgl 3.0版本&#xff0c;根据 AWS 地形图块的高程值制作等高线&#xff0c;源码如下&#xff1a; <!DOCTYPE html> &…

OV证书签发一般要多久?

OV证书&#xff0c;即组织验证型SSL证书&#xff0c;的签发流程涉及多个阶段&#xff0c;其具体时间取决于多种因素。OV证书的签发一般需要1-3个工作日&#xff0c;这个过程可以分为以下几个阶段&#xff1a; 1、选择和购买证书&#xff1a; 用户需要在SSL证书服务商处选择合适…

AnaPico为众多工厂产线老化测试提供高效经济的微波解决方案

在电子设备的生产中&#xff0c;老化测试在整个使用寿命期间的可靠性和对声明参数的保证起着重要作用&#xff0c;尤其是在特殊应用&#xff08;国防和航天工业、电信、医药等&#xff09;方面。即使经过成功的参数和功能测试&#xff0c;在实际操作条件下使用时也有可能出现设…

【JSP+Servlet+Maven】——优质外卖订餐系统之概论部分

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

【Linux】进程的概念 + 查看进程

前言&#xff1a; 在前面我们学习了Liunx的基本指令和权限相关知识&#xff0c;还有基本工具的使用&#xff0c;有了以上的基础知识我们本章将正式接触Linux操作系统。 目录 1.冯诺依曼体系结构1.1 内存存在的意义1.2 程序加载到内存的含义1.3 程序的预加载&#xff1a; 2 .认识…

python读取指定文件夹下的图片(glob获取)

python读取指定文件夹下的图片&#xff08;glob获取&#xff09; 定义traverse_images函数&#xff0c;仅需要改变下根路径即可 glob是python中用来查找符合特定规则的文件路径名的函数 import os from glob import globdef traverse_images (folder_path):image_formats …

Google账号输入用户名和密码后提醒要到手机通知点是,还要点击数字,但是我手机收不到

有一些朋友换了一个新的电脑后手机登录谷歌账号时&#xff0c;用户名和密码都正确输入以后&#xff0c;第三步弹出一个提示&#xff0c;要在手机上的通知栏点击是&#xff0c;并且点击手机上相应的数字才能继续登录。 但是自己的手机上下拉通知栏却没有来自谷歌的通知&#xf…

mkv怎么改成mp4格式?把mkv改成MP4的几种方法介绍

mkv怎么改成mp4格式&#xff1f;将mkv格式的视频文件转换为MP4格式是许多用户常常需要解决的问题&#xff0c;尤其是在不同设备之间传输和播放视频时。mkv是一种灵活且功能强大的多媒体容器格式&#xff0c;能够包含多种视频、音频和字幕轨道。然而&#xff0c;尽管其优势显著&…