Python学习笔记8:入门知识(八)

news2025/9/18 5:54:45

前言

本篇是元组的知识点学习以及知识点的补充

元组

概念

不可变的列表,叫做元组。
在之前列表的特性中,我们就说过列表是可变的,但是在实际使用过程中,我们有时候仍然需要一系列不可变的元素,这个时候就需要元组出场了。

定义

元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。

dimensions = (2024, 6,14)
print(dimensions)

在这里插入图片描述
注意:元组可以看出特殊的列表,但是元组的元素是不可变的。之前讲过集合,集合的元素也是不可变的,同理,元组的元素没有办法可以修改。

元组元素是不可变的,没有增这一概念。只能通过将当前变量赋值一个更多元素的元组来实现一个类似于增加元素的操作。

tup = (1, 2, 3)
# 注意,单个元素后面有一个逗号,使其成为元组
new_tup = tup + (4,)
tup = new_tup
print(tup)

在这里插入图片描述

同增,元组的元素没有删的概念,只能模拟实现类似的操作。

同增,元组的元素没有增的概念,只能模拟实现类似的操作。

元组元素的查询,主要使用索引的方式,当然也可以使用切片的方式。还有其他复杂的方式,入门的话只讲这两个。

索引方式

tup = (0, 1, 2, 3)
print(tup[0])

tup = (0, 1, 2, 3, 4)
# 获取索引1到3的元素,不包括4
subset = tup[1:4]
print(subset)

在这里插入图片描述

元组的知识入门就知道这些就行,记住元组是不可变的列表就好了。

补充知识

索引

这里索引单指列表,元组的索引。
很多时候索引有被叫做下标。
这里特别再讲一遍的原因是因为,索引是从0开始,0就是元组中的第一个元素。在大多数编程语言中都是如此,这与列表操作的底层实现相关。
当你使用索引去获取元素的值的时候,注意索引的值必须小于容器本身元素的数量,不然会报错的,不信可以试试。

  1. 正向索引。简单而言就是从0开始的索引。从容器头部开始计算,0是第一个,1是第二个,以此类推。
  2. 反向索引。简单来说就是从-1开始的索引。从容器尾部开始计算,-1是倒数第一个,-2是倒数第二个,依次类推。
tup = (1, 2, 3, 4)
print(tup[0])
print(tup[1])
print(tup[2])
print(tup[3])
print(tup[-1])
print(tup[-2])
print(tup[-3])
print(tup[-4])

在这里插入图片描述
大家可以试试这个,我这里不贴结果

tup = (1, 2, 3, 4)
print(tup[4])
print(tup[-5])

排序

列表的排序

列表的排序有两种方法,一个是使用sorted()函数排序,这种排序不会改变原有的列表元素顺序。另一种是使用列表的内置函数sort(),这种排序是直接操作原列表,所以会改变原列表元素的顺序。
单独讲一个反转列表的内置函数,防止大家不认识和错误使用。

my_list = [5, 1, 3, 4, 2]
print("最开始的my_list: ", my_list)
new_list = sorted(my_list)
print("sorted函数排序", new_list)
print("sorted函数排序后的my_list: ", my_list)
# 正序
my_list.sort()
print("sort()函数排序后的my_list:", my_list)
# 倒序
my_list.sort(reverse=True)
print("sort()函数排序后的my_list: ", my_list)
# 新的my_list
my_list = [5, 1, 3, 4, 2]
print("最开始的my_list: ", my_list)
# 反转列表,不是排序
my_list.reverse()
print("反转后的my_list: ", my_list)

在这里插入图片描述
大家好好观察一下每次的输出,了解这几个方法的差异。

集合的排序

集合本身是无序的,不支持保留插入的顺序,也不支持直接排序,但你可以将其转换为列表后进行排序,或者使用sorted()函数对集合元素进行排序,得到一个新的排序后的列表,最后给集合赋值,达到一个模拟的效果。
在这里插入图片描述

长度

有时候我们需要知道容器的长度(元素的数量),该怎么办呢?可以使用len()函数实现。

my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print("列表长度:", length)

my_tuple = (1, 2, 3, 4, 5)
length = len(my_tuple)
print("元组长度:", length)

my_set = {1, 2, 3, 4, 5}
length = len(my_set)
print("集合长度:", length)

my_dict = {'a': 1, 'b': 2, 'c': 3}
length = len(my_dict)
print("字典长度:", length)

在这里插入图片描述

作业

元组的排序。

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

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

相关文章

每日5题Day24 - LeetCode 116 - 120

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) /* // Definition for a Node. class Node {public int val;public Node left;…

万字长文爆肝Spring(一)

Spring_day01 今日目标 掌握Spring相关概念完成IOC/DI的入门案例编写掌握IOC的相关配置与使用掌握DI的相关配置与使用 1,课程介绍 对于一门新技术,我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那对于Spring来说: 1.1 为什么要学? …

the histogram of cross-entropy loss values 交叉熵损失值的直方图以及cross-entropy loss交叉熵损失

交叉熵损失值的直方图在机器学习和深度学习中有几个重要的作用和用途: 评估模型性能: 直方图可以帮助评估模型在训练数据和测试数据上的性能。通过观察损失值的分布,可以了解模型在不同数据集上的表现情况。例如,损失值分布的形状和范围可以反…

2024 Idea最新激活码

idea的激活与安装 操作如下: ① 打开网站:https://web.52shizhan.cn 切换到:激活码,点击获取 ② 这个时候就跳转到现成账号页面,点击获取体验号,如图 ③ 来到了获取现成账号的页面了。输入你的邮箱账号即…

uni app 自定义 带popup弹窗的input组件

工作需要。自定义了个带popup弹窗的input组件。此组件满足个人需求&#xff0c;不喜勿喷。应该可以看明白怎么回事&#xff0c;也能自己改改&#xff0c;所以就不要联系了&#xff0c;点赞收藏就好 <template><view class"dialog_main"><input v-mod…

【第七篇】SpringSecurity核心组件和核心过滤器

一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用SpringSecurity XML命名空间进行配置或者SpringSecurity的<br />J…

Python 使用 Tkinter库 设置 tkinter ttk 框架的背景颜色

Tkinter 设置 tkinter ttk 框架的背景颜色 在本文中&#xff0c;我们将介绍如何使用 Tkinter 在 tkinter ttk 框架中设置背景颜色。Tkinter 是 Python 中常用的 GUI 工具包&#xff0c;ttk 则是 Tkinter 中的一个模块&#xff0c;提供了一套更加现代化的控件。 Tkinter 简介 …

ESP32基础应用之esp32连接腾讯云并使用微信小程序控制的智能灯

文章目录 1. 项目简介1.1 功能接收1.2 使用资源1.3 测试平台 2 腾讯云物联网开发平台3 esp32设备开发3.1 准备参考例程3.2 vscode平台创建测试工程3.3 修改工程 问题总结使用PowerShell命令行终端生成的二维码不能用 1. 项目简介 1.1 功能接收 实现腾讯云创建项目与设备&…

泰坦尼克号数据集机器学习实战教程

泰坦尼克号数据集是一个公开可获取的数据集&#xff0c;源自1912年沉没的RMS泰坦尼克号事件。这个数据集被广泛用于教育和研究&#xff0c;特别是作为机器学习和数据分析的经典案例。数据集记录了船上乘客的一些信息&#xff0c;以及他们是否在灾难中幸存下来。以下是数据集中主…

微信小程序查分易如何使用?

期末马上到了&#xff0c;老师们又开始为发放成绩而头疼了&#xff0c;堆积如山的试卷&#xff0c;密密麻麻的分数&#xff0c;还有那些不断响起的家长电话&#xff0c;真是让人心烦。别担心&#xff0c;今天就让我来介绍一个让老师“偷懒”神器——查分易微信小程序 第一步&am…

Qt创建静态库及静态库使用

Qt创建静态库及静态库使用 1. 创建一个库文件 选择静态库 将需要打包的.h 和.cpp文件添加到程序中&#xff0c; 在编译器版本下的debug和release模式下分别编译&#xff08;右键项目&#xff0c;点击“qmake”,再点击“构建”&#xff09;后&#xff0c;在对应的的build目录下…

区间分割求解方程

本文实现了基于mpi4py的多进程算法 mpi不过多介绍&#xff0c;某些函数的用法也不是介绍范围&#xff0c;这里只给出怎么实现多进程的方程求根算法。区间划分求解方程&#xff0c;在串行程序里&#xff0c;二分法是非常经典的算法&#xff0c;现在对其进行拓展&#xff0c;实现…

Kubrnetes APIServe 监控

kube-apiserver组件监控指标及大盘使用说明_容器服务 Kubernetes 版 ACK(ACK)-阿里云帮助中心 kube-apiserver组件提供了Kubernetes的RESTful API接口&#xff0c;使得外部客户端、集群内的其他组件可以与ACK集群交互。本文介绍kube-apiserver组件的监控指标清单、大盘使用指导…

C# Winform 侧边栏,切换不同页面

在项目中我们经常遇到需要在主界面上切换不同子页面的需求&#xff0c;常用做法是左侧显示子页面菜单&#xff0c;用户通过点击左侧菜单&#xff0c;实现右边子页面的展示。 实例项目实现&#xff1a; 项目左侧侧边栏实现FlowLayoutPanel使用显示不同子窗体 实例链接&#xf…

苹果设备上的livp格式是什么?怎么转换?

livp格式是苹果公司推出的一种图片格式&#xff0c;它允许用户在iOS设备上拍摄的照片中包含声音和动作&#xff0c;从而创造出一种动态的照片效果。 livp格式的照片不仅记录了图像&#xff0c;还记录了拍摄前后1.5秒的音频和视频&#xff0c;使得照片能够“活”起来。 ✨livp…

植物大战僵尸(杂交版)最新版V2.1来袭!

【新手指导】最新版v2.1来袭 1.闪退怎么办&#xff1f; 答:窗口模式可以解决大部分问题。输入法转换成英文也可以。最后一种办法管理员运行&#xff0c;再后台可运行&#xff0c;即便不是窗口也不会闪退&#xff0c;亲测有效 2.哪里下载&#xff1f; 答&#xff1a;夸克网盘htt…

【Android】实现Recyclerview的Item可以左右侧滑动的效果

项目需要 使用Recyclerview进行列表的数据加载的时候&#xff0c;需要对这个Item进行左右滑动进行操作的功能&#xff0c; 比如这样 需求实现 上面图来源于 https://github.com/anzaizai/EasySwipeMenuLayout 这是一个可以用来进行列表左滑、右滑的项目&#xff0c;可以集…

盒马鲜生礼品卡如何使用?

盒马鲜生的礼品卡除了在门店用以外&#xff0c;还有什么用处啊 毕竟家附近的盒马距离都太远了&#xff0c;好多卡最后都闲置下来了&#xff0c;而且以前都不知道盒马卡还会过期&#xff0c;浪费了好多 还好最近发现了 盒马鲜生礼品卡现在也能在收卡云上兑现了&#xff0c;而且…

01_点亮LED

这节课的标题是点亮 LED&#xff0c;虽然任务很简单&#xff0c;但是需要大家了解的单片机基础知识的内容却很多&#xff0c;特别是对于初学者&#xff0c;刚开始要在头脑中建立一个单片机的概念&#xff0c;课程最后通过点亮一个 LED 小灯来增加初学者对单片机的兴趣和自信。 …