【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配置中心搭建
分布式 传统开发方式的痛点: 我们的服务分为很多种:用户服务、商品服务、订单服务等,若我们一个成熟的体系内,新添加一个服务,会变得十分的繁琐与困难 当我们的负载较大时,如果选择添加机器的方式来减轻…...
[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列
目录 1.网络 1.0 令牌环网(了解) 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网(了解) 相同令牌时&am…...
Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决
文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时,默认分辨率是25601440,字体较小,如果切换成19201080,字体又变大模糊。 解决方法 使用HiDP I(一种显示技术,使用多个物理像素显示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 有时候还是没启动起来的原因,不知道为什么,手动点点 mysql-8.0.30-winx64_mysql8.0.30-CSDN博客...
MySQL优化策略(大数据量)
一、 前提: 1.数据规模 : 明确数据量级是上亿级,这需要特殊的处理,比如分区、索引等策略。 2.数据增长率 : 了解数据的增加速度,有助于预估未来存储和性能需求,从而提前规划扩展策略。 3.访问模式 : 分析是读多写少…...
在Excel里制作简单游戏界面
生成随机激活码 找工具箱 插入按钮 建宏 方法一:新建按钮的时候创建宏 方法二:右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量,用来替代随机数 Public ot…...
火语言RPA流程组件介绍--鼠标拖拽元素
🚩【组件功能】:在开始位置上按下鼠标,拖动到结束坐标或指定元素上放下鼠标,实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…...
计算机三级网络技术总结 第十一章网络管理技术
能正常接受来自路由的通知,说明路由上已设置SNMP代理并具有发出通知的功能。UDP端口号缺省为162攻击者使用无效的IP地址,利用TCP连接的三次握手过程,使得受害主机处于开放会话的请求中,直至连接超时。在此期间,受害主机…...
「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能
以下是「豆包 MarsCode 体验官」优秀文章,作者努力的小雨。 豆包 MarsCode 豆包MarsCode 编程助手支持的 IDE: 支持 Visual Studio Code 1.67.0 及以上版本,以及 JetBrains 系列 IDE,如 IntelliJ IDEA、Pycharm 等,版本要求为 22…...
基于Linux文件编程实现处理Excel表格的数据
目录 前言 整体的代码框架 如何读取数据文件的数据 read_line 如何处理读取到的数据 process_data 运行结果 总结 前言 本文是基于Linux文件编程的一个小实验,用文件IO来读取Excel表格的数据,处理后写入另一个文件,本文只是对文件IO的…...
make 程序规定的 makefile 文件的书写语法(2)
(13)接着开始一个更复杂的例子,课程的素材 2 ,先给出书写 makefile 的框架 : (14) (15) 谢谢...
容器化安装jenkins稳定版长期维护版本LTS
前提已有 docker-compose和docker-ce环境,这里安装稳定的Lts版本即可。 选择稳定版本 这里选择LTS 稳定长期维护的版本 在docker镜像找到LTS稳定版本 部署jenkins服务 创建持久化数据目录 jenkinsdata]# pwd /data/jenkinsdata编写docker-compose文件 jenkins_…...
如何让人工智能训练更快
影响人工智能训练时间的因素 在深度学习训练中,训练时间的计算涉及到多个因素,包括 epoch 数、全局 batch size、微 batch size、计算设备数量等。下面是一个基本的公式来说明这些参数之间的关系(注意,这只是一个基本的说明公式&…...
linux/ubuntu国内镜像安装gitleaks敏感信息扫描工具教程及避坑点
1、背景 利用gitleaks扫描git仓库或者文件 GitHub上有比较详细的教程,但是由于每个人的安装环境不同,坑很多,网上能查到的有效信息也比较少。这里就以我坑很多的环境为例,捋一下步骤。 GitHub - gitleaks/gitleaks: Protect an…...
JavaScript高级程序设计基础(二)
二、语言基础 2.1语法 (简单的语法基础将在文章省略) 2.1.1严格模式 严格模式是一种不同的 JavaScript 解析和执行模型,不规范写法在这种模式下会被处理 只需在脚本开头加上"use strict" 也可以单独指定一个函数在严格模式下执…...
使用Spring Boot开发自习室预定系统
开发一个自习室预定系统涉及到用户管理、自习室管理、预定管理等功能。以下是使用Spring Boot开发自习室预定系统的步骤和关键点: 1. 需求分析 确定系统的基本需求,例如: 用户注册和登录管理员管理自习室信息用户浏览可用自习室用户预定自…...
最近读书总结
1《More Joel on Software》读后感【2024年8月29日】 1.1 本书概要 本书讲解了如何发现优秀的IT人才,并把他们招聘进来;如何对智力密集型的IT企业(软件企业)进行管理,即最好采用情感认同法;对计算机大学生…...
python列表判断是否为空的三种方式
#列表是否为空判断 a[]一: if a:print(not null) else:print(null)二: b len(a) if b 0:print(null) else:print(not null)三: if not a:print(null) else:print(not null)运行结果:...
2024年技术趋势:AI、云计算与区块链的颠覆性变革
技术趋势预测文章大纲引言简要介绍技术趋势预测的重要性,提及CSDN作为技术社区的影响力,说明本文将基于当前技术发展分析未来趋势。人工智能与机器学习讨论生成式AI(如GPT-4、Stable Diffusion)的演进方向,包括多模态模…...
图像处理和深度学习笔记[特殊字符](一)
AI生命周期:数据准备 → 模型训练 → 模型转换 → 部署 → 监控↑ 算法工程师关注 ↑ ↓ 你将专注于此 ↓机器学习开发流程数据收集数据预处理特征提取 数据预处理和 特征提取(其实就是数据清洗和转换) 比较耗时耗力清洗和特征工程模型构…...
LangFlow+Ollama快速部署:3步搭建本地AI应用开发环境
LangFlowOllama快速部署:3步搭建本地AI应用开发环境 想快速搭建一个属于自己的AI应用开发环境,但又不想折腾复杂的命令行和配置?今天,我来分享一个极其简单的方法:用LangFlow和Ollama,只需3步,…...
ROS实战:5分钟搞定大华网络摄像机RTSP流接入(Ubuntu18.04+Melodic版)
ROS实战:5分钟搞定大华网络摄像机RTSP流接入(Ubuntu18.04Melodic版) 在智能机器人开发领域,实时视频流处理是构建环境感知系统的核心能力之一。大华作为安防行业领先品牌,其网络摄像机被广泛应用于工业检测、智能巡检等…...
Godep历史意义揭秘:Go依赖管理工具的开创者如何改变开发方式
Godep历史意义揭秘:Go依赖管理工具的开创者如何改变开发方式 【免费下载链接】godep dependency tool for go 项目地址: https://gitcode.com/gh_mirrors/go/godep Godep作为Go语言依赖管理工具的开创者,在Go生态系统的演进历程中扮演了至关重要的…...
Pyspark环境搭建及案例(Windows)
Windows环境下开发pyspark程序 一、环境准备:Anaconda Python 虚拟环境 1. 安装 Anaconda(推荐) 下载地址:https://www.anaconda.com/products/distribution 安装时选择“Add Anaconda to PATH”会更方便。 2、新建虚拟环境 使…...
Qwen3.5-2B实战入门:20亿参数多模态模型图文对话快速上手指南
Qwen3.5-2B实战入门:20亿参数多模态模型图文对话快速上手指南 1. 认识Qwen3.5-2B Qwen3.5-2B是一款轻量级多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型特别适合在资源有限的设备上运行,比如个人…...
ReplaceItems.jsx:基于智能匹配引擎的Illustrator对象替换解决方案
ReplaceItems.jsx:基于智能匹配引擎的Illustrator对象替换解决方案 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 副标题:面向专业设计师的批量元素管理工具…...
OpenCVSharp摄像头开发避坑指南:C#实现高清录像+实时滤镜(WinForm版)
OpenCVSharp工业级摄像头开发实战:高清录像与实时滤镜的进阶技巧 在工业视觉检测和实时直播领域,稳定高效地采集视频流是核心需求。C#开发者常选择OpenCVSharp作为计算机视觉开发工具,但实际应用中总会遇到帧率不稳定、资源泄漏或参数配置不当…...
用战神引擎开服后,别忘了这几步:服务器安全、日志监控与性能调优指南
战神引擎开服后的高阶运维指南:安全加固、日志监控与性能调优实战 当你成功用战神引擎架设传奇手游服务器后,真正的挑战才刚刚开始。服务器能跑起来只是第一步,如何让它跑得稳、跑得安全、跑得高效,才是区分普通服主和专业运维的关…...
