当前位置: 首页 > news >正文

【Python】05.Python 中的列表与元组

一、列表与元组的概念

列表是一种在代码中批量表示/保存数据的方式
元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整

二、列表的创建

创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往里面设置初始值, 可以直接写在 [ ] 当中。列表中存放的元素允许是不同的类型

# 创建空列表
alist = [ ]
alist = list()
#列表中可以放不同的类型
alist = [1, 'hello', True]

三、列表的访问

  • 可以通过下标访问操作符 [ ] 来获取到列表中的任意元素
  • 通过下标不光能读取元素内容, 还能修改元素的值
  • 如果下标超出列表的有效范围, 会抛出异常
  • 因为下标是从 0 开始的, 因此下标的有效范围是 [0, 列表长度 - 1]. 使用 len 函数可以获取到列表的元素个数
  • 下标可以取负数. 表示 “倒数第几个元素”
    alist[-1] 相当于 alist[len(alist) - 1]

四、切片操作

通过下标操作是一次取出里面第一个元素。通过切片, 则是一次取出一组连续的元素, 相当于得到一个 子列表

  • 使用 [ : ] 的方式进行切片操作
    list = [1, 2, 3, 4]
    print(alist[1:3])
    
  • 切片操作中可以省略前后边界
    alist = [1, 2, 3, 4]
    print(alist[1:])        # 省略后边界, 表示获取到列表末尾
    print(alist[:-1])       # 省略前边界, 表示从列表开头获取
    print(alist[:])         # 省略两个边界, 表示获取到整个列表.
    
  • 切片操作还可以指定 “步长” , 也就是 “每访问一个元素后, 下标自增几步”
    alist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    print(alist[::1])
    print(alist[::2])
    
  • 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 “每访问一个元素之后, 下标自减几步”
  • 如果切片中填写的数字越界了, 不会有负面效果. 只会尽可能的把满足条件的元素切片

五、遍历列表元素

“遍历” 指的是把元素一个一个的取出来, 再分别进行处理

  • 最简单的办法就是使用 for 循环
    alist = [1, 2, 3, 4]
    for elem in alist:print(elem)
    
  • 也可以使用 for 按照范围生成下标, 按下标访问
    alist = [1, 2, 3, 4]
    for i in range(0, len(alist)):print(alist[i])
    
  • 还可以使用 while 循环. 手动控制下标的变化
    alist = [1, 2, 3, 4]
    i = 0
    while i < len(alist):print(alist[i])i += 1
    

六、插入元素

  • 使用 append 方法, 向列表末尾插入一个元素(尾插)

    alist = [1, 2, 3, 4]
    alist.append('hello')
    print(alist)
    
  • 使用 insert 方法, 向任意位置插入一个元素

    # insert 第一个参数表示要插入元素的下标. 
    alist = [1, 2, 3, 4]
    alist.insert(1, 'hello')
    print(alist)
    

七、查找元素

  • 使用 in 操作符, 判定元素是否在列表中存在. 返回值是布尔类型
  • 使用 index 方法, 查找元素在列表中的下标. 返回值是一个整数. 如果元素不存在, 则会抛出异常

八、删除元素

  • 使用 pop 方法删除最末尾元素
  • pop 也能按照下标来删除元素
    alist = [1, 2, 3, 4]
    alist.pop(2)
    print(alist)
    
  • 使用 remove 方法, 按照值删除元素
    alist = [1, 2, 3, 4]
    alist.remove(2)
    print(alist)
    

九、连接列表

  • 使用 + 能够把两个列表拼接在一起
  • 使用 extend 方法, 相当于把一个列表拼接到另一个列表的后面
    alist = [1, 2, 3, 4]
    blist = [5, 6, 7]
    alist.extend(blist)
    print(alist)
    print(blist)
    

十、元组的操作

元组的功能和列表相比, 基本是一致的.
元组使用 ( ) 来表示

atuple = ( )
atuple = tuple()

元组不能修改里面的元素, 列表则可以修改里面的元素

因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持

另外, 元组在 Python 中很多时候是默认的集合类型. 例如, 当一个函数返回多个值的时候

def getPoint():return 10, 20
result = getPoint()
print(type(result))

相关文章:

【Python】05.Python 中的列表与元组

一、列表与元组的概念 列表是一种在代码中批量表示/保存数据的方式 元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整 二、列表的创建 创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往…...

【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建

分布式 传统开发方式的痛点&#xff1a; 我们的服务分为很多种&#xff1a;用户服务、商品服务、订单服务等&#xff0c;若我们一个成熟的体系内&#xff0c;新添加一个服务&#xff0c;会变得十分的繁琐与困难 当我们的负载较大时&#xff0c;如果选择添加机器的方式来减轻…...

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

目录 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 相同令牌时&am…...

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时&#xff0c;默认分辨率是25601440&#xff0c;字体较小&#xff0c;如果切换成19201080&#xff0c;字体又变大模糊。 解决方法 使用HiDP I&#xff08;一种显示技术&#xff0c;使用多个物理像素显示1个像…...

Python-pptx:如何在幻灯片中轻松插入与填充表格

哈喽,大家好,我是木头左! 安装和设置Python-PPTX 确保你的系统中已经安装了Python。然后,使用pip安装python-pptx库: pip install python-pptx安装完成后,你就可以开始编写脚本来操作PowerPoint文件了。 创建表格的基础步骤 使用python-pptx创建表格涉及几个关键步骤…...

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

ERROR 2003 (HY000): Cant connect to MySQL server on localhost:3306 (10061) mysql-8.0.30-winx64 有时候还是没启动起来的原因&#xff0c;不知道为什么&#xff0c;手动点点 mysql-8.0.30-winx64_mysql8.0.30-CSDN博客...

MySQL优化策略(大数据量)

一、 前提&#xff1a; 1.数据规模 : 明确数据量级是上亿级&#xff0c;这需要特殊的处理&#xff0c;比如分区、索引等策略。 2.数据增长率 : 了解数据的增加速度&#xff0c;有助于预估未来存储和性能需求&#xff0c;从而提前规划扩展策略。 3.访问模式 : 分析是读多写少…...

在Excel里制作简单游戏界面

生成随机激活码 找工具箱 插入按钮 建宏 方法一&#xff1a;新建按钮的时候创建宏 方法二&#xff1a;右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量&#xff0c;用来替代随机数 Public ot…...

火语言RPA流程组件介绍--鼠标拖拽元素

&#x1f6a9;【组件功能】&#xff1a;在开始位置上按下鼠标&#xff0c;拖动到结束坐标或指定元素上放下鼠标&#xff0c;实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…...

计算机三级网络技术总结 第十一章网络管理技术

能正常接受来自路由的通知&#xff0c;说明路由上已设置SNMP代理并具有发出通知的功能。UDP端口号缺省为162攻击者使用无效的IP地址&#xff0c;利用TCP连接的三次握手过程&#xff0c;使得受害主机处于开放会话的请求中&#xff0c;直至连接超时。在此期间&#xff0c;受害主机…...

「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能

以下是「豆包 MarsCode 体验官」优秀文章&#xff0c;作者努力的小雨。 豆包 MarsCode 豆包MarsCode 编程助手支持的 IDE: 支持 Visual Studio Code 1.67.0 及以上版本&#xff0c;以及 JetBrains 系列 IDE&#xff0c;如 IntelliJ IDEA、Pycharm 等&#xff0c;版本要求为 22…...

基于Linux文件编程实现处理Excel表格的数据

目录 前言 整体的代码框架 如何读取数据文件的数据 read_line 如何处理读取到的数据 process_data 运行结果 总结 前言 本文是基于Linux文件编程的一个小实验&#xff0c;用文件IO来读取Excel表格的数据&#xff0c;处理后写入另一个文件&#xff0c;本文只是对文件IO的…...

make 程序规定的 makefile 文件的书写语法(2)

&#xff08;13&#xff09;接着开始一个更复杂的例子&#xff0c;课程的素材 2 &#xff0c;先给出书写 makefile 的框架 &#xff1a; &#xff08;14&#xff09; &#xff08;15&#xff09; 谢谢...

容器化安装jenkins稳定版长期维护版本LTS

前提已有 docker-compose和docker-ce环境&#xff0c;这里安装稳定的Lts版本即可。 选择稳定版本 这里选择LTS 稳定长期维护的版本 在docker镜像找到LTS稳定版本 部署jenkins服务 创建持久化数据目录 jenkinsdata]# pwd /data/jenkinsdata编写docker-compose文件 jenkins_…...

如何让人工智能训练更快

影响人工智能训练时间的因素 在深度学习训练中&#xff0c;训练时间的计算涉及到多个因素&#xff0c;包括 epoch 数、全局 batch size、微 batch size、计算设备数量等。下面是一个基本的公式来说明这些参数之间的关系&#xff08;注意&#xff0c;这只是一个基本的说明公式&…...

linux/ubuntu国内镜像安装gitleaks敏感信息扫描工具教程及避坑点

1、背景 利用gitleaks扫描git仓库或者文件 GitHub上有比较详细的教程&#xff0c;但是由于每个人的安装环境不同&#xff0c;坑很多&#xff0c;网上能查到的有效信息也比较少。这里就以我坑很多的环境为例&#xff0c;捋一下步骤。 GitHub - gitleaks/gitleaks: Protect an…...

JavaScript高级程序设计基础(二)

二、语言基础 2.1语法 &#xff08;简单的语法基础将在文章省略&#xff09; 2.1.1严格模式 严格模式是一种不同的 JavaScript 解析和执行模型&#xff0c;不规范写法在这种模式下会被处理 只需在脚本开头加上"use strict" 也可以单独指定一个函数在严格模式下执…...

使用Spring Boot开发自习室预定系统

开发一个自习室预定系统涉及到用户管理、自习室管理、预定管理等功能。以下是使用Spring Boot开发自习室预定系统的步骤和关键点&#xff1a; 1. 需求分析 确定系统的基本需求&#xff0c;例如&#xff1a; 用户注册和登录管理员管理自习室信息用户浏览可用自习室用户预定自…...

最近读书总结

1《More Joel on Software》读后感【2024年8月29日】 1.1 本书概要 本书讲解了如何发现优秀的IT人才&#xff0c;并把他们招聘进来&#xff1b;如何对智力密集型的IT企业&#xff08;软件企业&#xff09;进行管理&#xff0c;即最好采用情感认同法&#xff1b;对计算机大学生…...

python列表判断是否为空的三种方式

#列表是否为空判断 a[]一&#xff1a; if a:print(not null) else:print(null)二&#xff1a; b len(a) if b 0:print(null) else:print(not null)三&#xff1a; if not a:print(null) else:print(not null)运行结果&#xff1a;...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项&#xff0c;设置文件夹共享为总是启用&#xff0c;点击添加&#xff0c;可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download&#xff08;这是我共享的文件夹&#xff09;&…...