06、Python 序列 与 列表 与 元组 的关系和创建 和 简单使用

目录

  • 序列
  • 元组与列表
    • 关系总结
  • 创建元组与列表方式一
    • 创建元组注意点
  • 创建元组与列表方式二
  • 简单使用
    • 通过索引访问元素
    • 子序列
    • 序列加法
    • 序列乘法
    • in运算

了解Python序列
创建列表和元组
通过索引访问元素
子序列
序列运算

序列

所谓序列,指的是一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引(也叫下标)来序列成员。

Python常见的序列包括字符串、元组和列表等。另外前面介绍的字节串(bytes)也是序列,以及本书后面介绍的namedtuple 也是序列

元组与列表

本节介绍的序列主要是列表和元组,它们非常相似,最主要的区别在于:列表是可变的,元组是不可变的

元组一旦构建出来,程序不能修改元组所包含的元素(就像字符串也是不可变的,程序无法修改字符串所包含的字符序列);
列表是可变的,程序可以修改列表所包含的元素。

应用场景:
如果只是固定地保存多个数据项,不需要修改它们,此时就应该使用元组;
反之就应该使用列表。

如图:列表跟元组就如图,和 java的数组差不多。
在这里插入图片描述

关系总结

列表和元组的关系就是可变和不可变的关系。
如何区分列表和元组呢?很简单,构建时就可以区分:

A. 方括号是列表,圆括号是元组。
B. 列表用 list() 创建,元组用 tuple() 创建

创建元组与列表方式一

创建列表和元组的语法也有点相似,区别只是创建列表使用方括号,创建元组使用圆括号,并在括号中列出它们的元素。

创建列表:
[ele1, ele2, ele3, …]

创建元组:
(ele1, ele2, ele3, …)

创建元组注意点

由于圆括号在Python中是很普通的符号,因此如果创建只包含一个元素的元组,不能仅在圆括号中放一个元素,还必须在元素后放一个逗号
创建只包含一个元素的元组:
(ele1, )

在这里插入图片描述

创建元组与列表方式二

分别用 list()函数 或 tuple()函数 来构建列表或元组

本质上:其实list、tuple 是 Python 的内置类型,因此 list()、tuple() 其实是它们的构造器

在这里插入图片描述

简单使用

通过索引访问元素

列表和元组都可通过索引来访问元素:
一种是正向访问(从左到右),索引从0开始:第1个元素的索引为0,第2个元素索引为1,……以此类推;

一种是反向访问(从右到左),索引从-1开始:倒数第1个元素的索引为-1,倒数第2个元素的索引为-2,……以此类推。
在这里插入图片描述

在这里插入图片描述

子序列

前面介绍字符串操作类似的是,列表和元组同样也可使用索引获取中间一段,这种用法被称为slice(分片或切片)
slice的完整语法格式如下:
[start: end: step]
在这里插入图片描述
获取子序列就是获取序列中的某一段
在这里插入图片描述

还可以加步长
在这里插入图片描述

序列加法

列表和元组支持加法运算,加法的和就是把两个“列表或元组”所包含的元素的总和。

列表只能和列表相加;元组只能和元组相加;元组不能直接和列表相加

在这里插入图片描述

列表和元组相加的话,可以把元组转成列表再相加,也可以把列表转成元组再相加
在这里插入图片描述

序列乘法

列表和元组可以和整数执行乘法,列表和元组乘法的意义就是把它们包含的元素重复N次——N就是被乘的倍数。

可以列表、元组同时进行加法、乘法运算。
示例:日期翻译程序

序列只能和整数相乘,就是把元素重复N次

列表
在这里插入图片描述
元组
在这里插入图片描述

字符串也属于序列,因此字符串也支持与int相乘
在这里插入图片描述

in运算

in运算符用于判断列表或元组是否包含某个元素

在这里插入图片描述

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

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

相关文章

【蓝桥每日一题]-动态规划 (保姆级教程 篇11)#方格取数2.0 #传纸条

目录 题目:方格取数 思路: 题目:传纸条 思路: 题目:方格取数 (跑两次) 思路: 如果记录一种方案后再去跑另一个方案,影响因素太多了,所以两个方案要同时开…

FL Studio 21 for Mac中文破解版百度网盘免费下载安装激活

FL Studio 21 for Mac中文破解版是Mac系统中的一款水果音乐编辑软件,提供多种插件,包括采样器、合成器和效果器,可编辑不同风格的音乐作品,Pattern/Song双模式,可兼容第三方插件和音效包,为您的创意插上翅膀…

Unity3D 基础——鼠标悬停更改物体颜色,移走恢复

方法介绍 【unity学习笔记】OnMouseEnter、OnMouseOver、OnMouseExit_unity onmouseover_一白梦人的博客-CSDN博客https://blog.csdn.net/a1208498468/article/details/117856445 GetComponent()详解_getcomponet<> 动态名称-CSDN博客https://blog.csdn.net/kaixindrag…

uniapp 测试 app 到安卓模拟器部署方法以及常见错误解决 无废话

uniapp 测试 app 到安卓模拟器 1.1 安装安卓模拟器 https://www.yeshen.com/ 1.2 查看安装模拟器端口 右击夜神模拟器属性打开文件位置 在打开的文件夹找到 debugReport 双击运行查看运行出来的端口号 一般都是&#xff1a;62001 1.3 HBuilder 配置 选中项目运行运行到手机…

自然语言处理---Transformer机制详解之ELMo模型介绍

1 ELMo简介 ELMo是2018年3月由华盛顿大学提出的一种预训练模型. ELMo的全称是Embeddings from Language Models.ELMo模型的提出源于论文<< Deep Contextualized Word Representations >>.ELMo模型提出的动机源于研究人员认为一个好的预训练语言模型应该能够包含丰…

opencv dnn模块 示例(19) 目标检测 object_detection 之 yolox

文章目录 0、前言1、网络介绍1.1、输入1.2、Backbone主干网络1.3、Neck1.4、Prediction预测输出1.4.1、Decoupled Head解耦头1.4.2、Anchor-Free1.4.3、标签分配1.4.4、Loss计算 1.5、Yolox-s、l、m、x系列1.6、轻量级网络研究1.6.1、轻量级网络1.6.2、数据增强的优缺点 1.7、Y…

【JavaEE】线程安全的集合类 -- 多线程篇(9)

线程安全的集合类 多线程环境使用 ArrayList多线程环境使用队列多线程环境使用哈希表 多线程环境使用 ArrayList 自己使用同步机制 (synchronized 或者 ReentrantLock)Collections.synchronizedList(new ArrayList); synchronizedList 是标准库提供的一个基于 synchronized 进…

nginx的使用

一、nginx下载 1.打开nginx官网http://nginx.org/en/index.html 下载安装链接 nginx&#xff08;NGINX&#xff09;详细下载安装及使用教程&#xff08;非常适合入门&#xff09;_nginx下载-CSDN博客 二、安装nginx # 前往用户根目录 cd ~#下载nginx1.13.7wget http://nginx…

Flink之Window窗口机制

窗口Window机制 窗口概述窗口的分类是否按键分区按键分区窗口非按键分区 按照驱动类型按具体分配规则滚动窗口Tumbling Windows滑动窗口 Sliding Windows会话窗口 Session Windows全局窗口 Global Windows 时间语义窗口分配器 Window Assigners时间窗口计数窗口例子 窗口函数 W…

商品价格区间筛选

列表应用&#xff0c;商品价格区间筛选。 (本笔记适合熟悉python列表及列表的条件筛选的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么…

回归预测 | MATLAB实现基于BP-Adaboost的BP神经网络结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BP-Adaboost的BP神经网络结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BP-Adaboost的BP神经网络结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于BP-Adaboost的BP…

嵌入式养成计划-46----QT--简易版网络聊天室实现--QT如何连接数据库

一百一十九、简易版网络聊天室实现 119.1 QT实现连接TCP协议 119.1.1 基于TCP的通信流程 119.1.2 QT中实现服务器过程 使用QTcpServer实例化一个服务器对象设置监听状态&#xff0c;通过listen()函数&#xff0c;可以监听特定的主机&#xff0c;也可以监听所有客户端&#x…

Andriod学习笔记(二)

页面设计的零碎知识 通用属性设置文本大小设置视图宽高设置视图的对齐方式 页面布局LinearLayoutRelativeLayoutGridLayoutScollView 按钮触控ButtonImageViewImageButton 案例&#xff1a;简易计算机 通用属性 设置文本大小 纯数字的setTextSize方法&#xff0c;内部默认字体…

flutter doctor检测环境,出现CocoaPods installed but not working

1. 安装flutter, 地址: 安装和环境配置 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 2. 安装成功后&#xff0c;通过flutter doctor检测环境。以mac为例&#xff0c;出现了CocoaPods installed but not working 错误提示时&#xff0c;以下为解决方案: 2.1 rvm i…

【JavaEE】JUC 常见的类 -- 多线程篇(8)

JUC 常见的类 1. Callable 接口2. ReentrantLock3. 原子类4. 线程池5. 信号量 Semaphore6. CountDownLatch 1. Callable 接口 Callable Interface 也是一种创建线程的方式 Runnable 能表示一个任务 (run方法) – 返回 voidCallable 也能表示一个任务(call方法) 返回一个具体的…

vue重修之自定义项目、ESLint和代码规范修复

文章目录 VueCli 自定义创建项目ESlint代码规范及手动修复代码规范错误 VueCli 自定义创建项目 安装脚手架 (已安装) npm i vue/cli -g创建项目 vue create xxx选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) …

阿里云服务结构--长期更新

CNCF 全称Cloud Native Computing Foundation&#xff08;云原生计算基金会&#xff09;&#xff0c;成立于 2015 年7月21日&#xff08;于美国波特兰OSCON 2015上宣布&#xff09;&#xff0c;其最初的口号是坚持和整合开源技术来让编排容器作为微服务架构的一部分&#xff0…

5256C 5G终端综合测试仪

01 5256C 5G终端综合测试仪 产品综述&#xff1a; 5256C 5G终端综合测试仪主要用于5G终端、基带芯片的研发、生产、校准、检测、认证和教学等领域。该仪表具备5G信号发送功能、5G信号功率特性、解调特性和频谱特性分析功能&#xff0c;支持5G终端的产线高速校准及终端发射机…

集成学习方法(随机森林和AdaBoost)

释义 集成学习很好的避免了单一学习模型带来的过拟合问题 根据个体学习器的生成方式&#xff0c;目前的集成学习方法大致可分为两大类&#xff1a; Bagging(个体学习器间不存在强依赖关系、可同时生成的并行化方法) 流行版本&#xff1a;随机森林(random forest)Boosting(个体…

数据结构和算法——用C语言实现所有树形结构及相关算法

文章目录 前言树和森林基础概念二叉树二叉树的遍历二叉树的构造树和森林与二叉树之间的转化树和森林的遍历 满二叉树完全二叉树线索二叉树线索二叉树的构造寻找前驱和后继线索二叉树的遍历 最优二叉树&#xff08;哈夫曼树&#xff09;哈夫曼树的构造哈夫曼编码 二叉排序树&…