Python教学入门:列表与元组

在这里插入图片描述

列表(Lists):

在这里插入图片描述

定义:

  • 列表是 Python 中最常用的数据类型之一,用于存储一组有序的元素。
  • 列表使用方括号 [] 定义,元素之间用逗号 , 分隔。

特点:

  • 列表是可变的(Mutable),可以修改、添加或删除元素。
  • 列表中的元素可以是不同的数据类型,甚至可以是另一个列表。

常用操作:

  • 访问元素:可以通过索引来访问列表中的元素,索引从 0 开始。
  • 修改元素:可以通过索引来修改列表中的元素。
  • 添加元素:可以使用 append()、insert() 等方法向列表中添加元素。
  • 删除元素:可以使用 remove()、pop()、del 等方法删除列表中的元素。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

代码示例:

# 定义一个空列表
my_list = []# 使用 append() 方法向列表末尾添加单个元素
my_list.append(1)
my_list.append(2)
print("After append():", my_list)  # 输出:[1, 2]# 使用 extend() 方法向列表末尾添加另一个列表的所有元素
another_list = [3, 4, 5]
my_list.extend(another_list)
print("After extend():", my_list)  # 输出:[1, 2, 3, 4, 5]# 使用 insert() 方法在指定位置插入元素
my_list.insert(0, 0)
print("After insert():", my_list)  # 输出:[0, 1, 2, 3, 4, 5]# 使用 remove() 方法删除列表中指定值的第一个元素
my_list.remove(3)
print("After remove():", my_list)  # 输出:[0, 1, 2, 4, 5]# 使用 pop() 方法删除并返回列表中指定索引的元素,默认删除最后一个元素
popped_element = my_list.pop(0)
print("Popped element:", popped_element)  # 输出:0
print("After pop():", my_list)  # 输出:[1, 2, 4, 5]# 使用 del 语句删除列表中指定索引的元素或整个列表
del my_list[1]
print("After del:", my_list)  # 输出:[1, 4, 5]# 删除整个列表
del my_list

list() 函数

在这里插入图片描述

在 Python 中,list() 函数是用于将其他可迭代对象(如元组、字符串、集合等)转换为列表的内置函数。
将元组转换为列表:

my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
print(my_list)  # 输出:[1, 2, 3, 4, 5]

将字符串转换为列表:

my_string = "hello"
my_list = list(my_string)
print(my_list)  # 输出:['h', 'e', 'l', 'l', 'o']

将集合转换为列表:

my_set = {1, 2, 3, 4, 5}
my_list = list(my_set)
print(my_list)  # 输出:[1, 2, 3, 4, 5]

将字典的键转换为列表:

my_dict = {'a': 1, 'b': 2, 'c': 3}
my_list = list(my_dict)
print(my_list)  # 输出:['a', 'b', 'c']

列表的排序函数

使用 sort() 方法:
在这里插入图片描述

sort() 方法用于原地对列表进行排序,即直接修改原列表,而不会返回新的列表。默认情况下,sort() 方法会按照升序对列表进行排序,也可以通过指定 reverse=True 参数来进行降序排序。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]# 升序排序
my_list.sort()
print(my_list)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]# 降序排序
my_list.sort(reverse=True)
print(my_list)  # 输出:[9, 6, 5, 5, 4, 3, 2, 1, 1]

使用 sorted() 函数:
在这里插入图片描述

sorted() 函数用于对列表进行排序,会返回一个新的已排序列表,而不会修改原列表。与 sort() 方法不同,sorted() 函数也可以接受任何可迭代对象作为参数,并返回一个新的列表。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]# 升序排序
sorted_list = sorted(my_list)
print(sorted_list)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]# 降序排序
sorted_list = sorted(my_list, reverse=True)
print(sorted_list)  # 输出:[9, 6, 5, 5, 4, 3, 2, 1, 1]

reverse() 函数:
在这里插入图片描述

my_list = [1, 2, 3, 4, 5]my_list.reverse()
print(my_list)  # 输出:[5, 4, 3, 2, 1]

元组(Tuples):

定义:

  • 元组是不可变的(Immutable)序列,类似于列表,但是元组中的元素不能被修改。
  • 元组使用圆括号 () 定义,元素之间用逗号 , 分隔。

特点:

  • 元组一旦创建,其元素不能被修改,但可以访问。
  • 元组可以包含不同数据类型的元素,甚至可以是另一个元组。

常用操作:

  • 访问元素:可以通过索引来访问元组中的元素,索引从 0 开始。
  • 元组是不可变的,因此不能修改、添加或删除元素。
# 定义一个元组
my_tuple = (1, 2, 3, 'a', 'b', 'c')# 访问元组元素
print(my_tuple[0])  # 输出:1
print(my_tuple[3])  # 输出:a# 元组是不可变的,无法修改元素
# my_tuple[0] = 10  # 会引发 TypeError 错误# 元组的元素可以是另一个元组
nested_tuple = ((1, 2), ('a', 'b'))
print(nested_tuple)  # 输出:((1, 2), ('a', 'b'))# 元组解构(Tuple unpacking)
x, y, z = my_tuple[:3]
print(x, y, z)  # 输出:1 2 3

比较:

# 列表和元组的比较# 列表适合存储可以变动的数据集合
# 比如记录学生的成绩
student_scores = [85, 92, 78, 90]# 元组适合存储一组不变的数据
# 比如一个点的坐标
point = (3, 4)

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

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

相关文章

Java梳理

梳理 1.ResponseBody return “hello world!” 当需要返回一个值的时候,需要使用到ResponseBody RestControllerControllerResponseBody 1.1没有Controller就不能写 GetMapping("/hello") public String sayHello() { return "Hello, wor…

HQL,SQL刷题,尚硅谷(中级)

目录 相关表结构: 1、order_info表 2、order_detail表 题目及思路解析: 第一题,查询各品类销售商品的种类数及销量最高的商品 第二题 查询用户的累计消费金额及VIP等级 第三题 查询首次下单后第二天连续下单的用户比率 总结归纳&#xff1a…

【双指针】

目录 1. LeetCode 283. 移动零 1.1 题目描述 1.2 题目思路 1.3 实现代码 2. LeetCode 1089. 复写零 2.1 题目描述 2.2 题目思路 2.3 实现代码 3. LeetCode 202. 快乐数 3.1 题目描述 3.2 题目思路 3.3 实现代码 4. LeetCode 11. 盛水最多的容器 4.1 题目描述 …

Debian12 中重新安装MSSQL 并指定服务器、数据库、数据表字段的字符排序规则和默认语言等参数

在 Linux 上配置 SQL Server 设置 - SQL Server | Microsoft Learn 零、查看sql server 服务器支持的字符排序规则 SELECT Name from sys.fn_helpcollations() where name Like Chinese% go------ Chinese_PRC_CI_AI Chinese_PRC_CI_AI_WS Chinese_PRC_CI_AI_KS Chinese_PRC_…

FPGA中闪灯程序设计示例

在FPGA设计中,闪灯的作用主要是用于测试和验证设计的功能和性能。具体来说,闪灯可以作为一个可视化的指示器,通过控制LED灯的闪烁模式和频率,来显示FPGA的工作状态或调试信息。 例如,在设计过程中,可以编写…

政安晨:【Keras机器学习示例演绎】(二)—— 使用 DeepLabV3+ 进行多类语义分割

目录 简介 下载数据 创建 TensorFlow 数据集 构建 DeepLabV3 模型 训练 利用色图叠加进行推理 对验证图像进行推理 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益…

手动给docusaurus添加一个搜索

新版博客用docusaurus重构已经有些日子了,根据docusaurus的文档上也申请了Algolia,想一劳永逸的解决博客的搜索问题。但是流水有意,落花无情。 algolia总是不给我回复,我只能对着algolia的申请页面仰天长叹。 正常情况的申请 按照docusaur…

Gitlab: Python项目CI/CD实践

目录 1. 说明 2. 准备工作 2.1 服务器 2.2 开发机hosts文件 2.3 项目 3. 步骤过程 3.1 建仓Fastapi T1 3.2 开发机测试构建与推送 ​编辑 3.3 在工作站添加gitlab-runner 3.4 提交代码,查看Pipelines结果 3.5 观察部署情况 4. 参考 1. 说明 分别以一个…

【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测(Matlab实现)

【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测(Matlab实现) 目录 【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测(Matlab实现)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 差异创意搜索算法&…

C++ 静态成员函数(二)

一、访问静态成员变量 静态成员函数可以通过作用域运算符::来访问类的静态成员变量和静态成员函数 静态成员函数不属于任何特定的对象,而是属于整个类,可以通过类名直接调用,无需创建类的实例。静态成员函数不能访问类的非静态成员变量和非…

在 Linux 终端中创建目录

目录 ⛳️推荐 前言 在 Linux 中创建一个新目录 创建多个新目录 创建多个嵌套的子目录 测试你的知识 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 前言 在本系列的这一部…

Maven的dependencyManagement与dependencies区别

先说结论:Maven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。 在maven多模块项目的pom文件中,有的小伙伴会发现最外层的pom文件和里面的pom文件有个地方不一样 如下图 父pom 子pom 一般来说是在maven的最外父工程pom文件里&…

npm内部机制与核心原理

npm 的核心目标: Bring the best of open source to you, your team and your company. npm 最重要的任务是安装和维护开源库。 npm 安装机制与背后思想 npm 的安装机制非常值得探究。Ruby 的 Gem,Python的pip都是全局安装机制,但是npm的安装…

界面组件Telerik UI for WPF 2024 Q1新版亮点 - 全新DateRangePicker组件

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio…

如何正确查看容器的CPU使用率

进入容器中top,虽然看到的PID是容器的,但是%Cpu的统计信息却是宿主机的。 如图 原理 进程的cpu使用率是如何计算出来的? 每个进程的状态是放在文件里的,在/proc目录下,每个进程有自己pid命名的文件夹, …

.NET 爬虫从入门到入狱

目录 前言 1.💡使用HttpClient爬取数据 2.🚀模拟User-Agent 3.🤵使用HTML解析库 3.👌前端Price显示 4.🌱运行实例 获取金价Au 5.🧾使用正则表达式解析 6.💫获取BTC价格 7.✨获取CSDN热点…

4.15报错记录

打开文件时出错a bytes-like object is required,notNoneType 确保E:/data/stdata/st- images-1208-json|ST-WT-1.json是一个有效的标签文件。 今天用X-anylabling更改标签目录时出现这个报错 解决方案:图片文件夹中创建同名的一个文件夹把json文件放进去就可以打…

[Qt网络编程]之UDP通讯的简单编程实现

hello!欢迎大家来到我的Qt学习系列之网络编程之UDP通讯的简单编程实现。希望这篇文章能对你有所帮助!!! 本篇文章的相关知识请看我的上篇文章: http://t.csdnimg.cn/UKyeM 目录 UDP通讯 基于主窗口的实现 基于线程的实现 UDP通讯…

【YOLO系列PR、F1绘图】更改v5、v7、v8(附v8训练、验证方式),实现调用val.py或者test.py后生成pr.csv,然后再整合绘制到一张图上(使用matplotlib绘制)

目录 1. 前提 效果图2. 更改步骤2.1 得到PR_curve.csv和F1_curve.csv2.1.1 YOLOv7的更改2.1.1.1 得到PR_curve.csv2.2.1.2 得到F1_curve.csv 2.1.2 YOLOv5的更改(v6.1版本)2.1.3 YOLOv8的更改(附训练、验证方式) 2.2 绘制PR曲线 …

【创建型模式】抽象工厂模式

一、抽象工厂模式概述 抽象工厂模式定义:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。 模式动机: 1.当系统提供的工厂生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构、属于不同类型的…