Python之花舞盛宴:探索列表与元组之美与妙用

news2024/12/25 14:05:00

在这里插入图片描述

前言

在Python编程世界中,列表和元组是两个最常用的数据结构之一。无论是初学者还是经验丰富的开发者,对于这两个数据类型的掌握都至关重要。

列表和元组都是用于存储多个值的容器,但它们在性质和特性上有所不同。列表是可变的,可以随意修改、添加或删除其中的元素,而元组是不可变的,一旦创建便无法更改。这使得它们在不同的场景和任务中有着各自的用途。

本博客将带你深入了解Python列表和元组的魅力与应用。我们将探索它们的基本操作,如创建、访问和切片操作,以及高级技巧,如列表和元组的嵌套、排序和列表解析等。我们还将比较它们的性能特点,以及何时选择使用列表或元组。

通过阅读本博客,你将对列表和元组有一个全面的理解,并能够灵活运用它们解决实际问题。无论你是新手还是有经验的Python开发者,这里都将为你带来有价值的知识和技巧。

准备好了吗?让我们一起踏上探索Python列表和元组之旅吧!🚗🚗🚗

列表

什么是 python 列表

Python中的列表是一种有序的、可变的数据类型。它可以存储任意数量的元素,并且这些元素可以是不同的数据类型,如整数、浮点数、字符串等。

列表使用方括号 [] 来创建,其中的元素可以通过逗号进行分隔。

message = [1,2,'zhangsan',13.14]
print(type(message))

在这里插入图片描述

1)使用列表序列[n]来访问列表中的元素

message = [1,2,'zhangsan',13.14]
print(message[0])
print(message[2])

在这里插入图片描述
2)列表中的元素可修改

message = [1,2,'zhangsan',13.14]
message[2] = 'lisi'
print(message)

在这里插入图片描述

列表中常用的方法

💕index() 返回指定序列的下标

message = [1,2,'zhangsan',13.14]
print(message.index(2))
print(message.index(13.14))

在这里插入图片描述

当列中中部存在待查找的数据时,会报错

message = [1,2,'zhangsan',13.14]
print(message.index('lisi'))

在这里插入图片描述

🎁count() 返回指定数据在列表中出现的次数

message = [1,2,'zhangsan',13.14,1,2,1]
print(message.count('zhangsan'))
print(message.count(1))
print(message.count(2))
print(message.count('lisi'))

在这里插入图片描述

📱len() 返回列表的长度

message = [1,2,'zhangsan',13.14,1,2,1]
print(len(message))

在这里插入图片描述

😘in 判断指定数据是否在列表中

message = [1,2,'zhangsan',13.14,1,2,1]
print('zhangsan' in message)
print('lisi' in message)

在这里插入图片描述

🎆判断指定数据是否不在列表中

message = [1,2,'zhangsan',13.14,1,2,1]
print('zhangsan' not in message)
print('lisi' not in message)

在这里插入图片描述

😊append() 列表结尾追加数据

message = [1,2,'zhangsan',13.14,1,2,1]
print(message)
message.append('lisi')
print(message)

在这里插入图片描述
列表不仅可以追加整数、浮点数、字符串,还可以追加列表

message = [1,2,'zhangsan',13.14,1,2,1]
print(message)
message1 = ['wangwu','zhaoliu']
message.append(message1)
print(message)
print(message[7])

在这里插入图片描述

🏀extend() 列表结尾追加数据

append()函数 和 extend()函数都可以在列表结尾追加数据,但是extend与append不同的是,它会将这个数据拆分然后再追加到列表结尾。

message = [1,2,3,'zhangsan',13.14]
message.extend('lisi')
print(message)

在这里插入图片描述

message = [1,2,3,'zhangsan',13.14]
message1 = ['lisi','wangwu']
message.extend(message1)
print(message)

在这里插入图片描述

😎insert() 指定位置增加数据

message = [1,2,3,'zhangsan',13.14]
message.insert(1,'lisi')
print(message)

在这里插入图片描述

如果指定位置的下标为负数怎么办呢?我们都知道列表最后一个数据的下标也可以是-1,那么当指定位置的下标为负数时,表明从列表的末尾开始添加。

message = [1,2,3,'zhangsan',13.14]
message.insert(-1,'lisi')
message.insert(-3,'wangwu')
print(message)

在这里插入图片描述

当指定位置的下标超过 列表长度 - 1 了该怎么办?他会在列表的结尾增加数据。

message = [1,2,3,'zhangsan',13.14]
message.insert(100,'lisi')
print(message)

在这里插入图片描述

🤩del 删除指定位置的数据

当使用 del 列表序列 时,会将整个列表都删除。

message = [1,2,3,'zhangsan',13.14]
del message
print(message)

在这里插入图片描述
使用 del 列表序列[n] 删除列表中的指定数据

message = [1,2,3,'zhangsan',13.14]
del message[3]
print(message)

在这里插入图片描述

🫥pop() 删除元素

pop() 函数也是删除列表的元素,但是它与 del函数 不同的是:pop() 函数默认删除列表的最后一个元素,并且会返回删除的元素。

message = [1,2,3,'zhangsan',13.14]
tmp = message.pop()
print(message)
print(tmp)

在这里插入图片描述

列表序列.pop(下标) 也可以删除指定下标的数据。

message = [1,2,3,'zhangsan',13.14]
tmp = message.pop(3)
print(message)
print(tmp)

在这里插入图片描述

😶‍🌫️remove() 移除列表的指定数据

message = [1,2,3,'zhangsan',13.14]
message.remove('zhangsan')
print(message)

在这里插入图片描述

这里删除数据可以根据给出的是需要删除的下标还是需要删除的数据以及删除的位置来选择使用 del函数、pop函数、remove函数

🥶clear() 清除列表

message = [1,2,3,'zhangsan',13.14]
message.clear()
print(message)

在这里插入图片描述

👹reverse() 逆置列表

message = [1,2,3,'zhangsan',13.14]
message.reverse()
print(message)

在这里插入图片描述

👺sort() 将列表排序

列表序列.sort(key = None , reverse = False) ,在这里我们先不讨论 key 的含义,
reverse = False 表明是按升序排列(默认),reverse = True 表明按降序排列

message = [1,2,3,68,13.14]
message.sort(reverse = False)
print(message)

在这里插入图片描述

message = [1,2,3,68,13.14]
message.sort(reverse = True)
print(message)

在这里插入图片描述
当我们使用sort函数的时候,列表中不能同时存在字符串和整数或者浮点数,但是可以只存在字符串类型,当列表中只有字符串类型时,按字典顺序排列

message = [1,2,3,'zhangsan',13.14]
message.sort()
print(message)

在这里插入图片描述

message = ['zhangsan','lisi','wangwu']
message.sort()
print(message)

在这里插入图片描述

💀copy() 复制列表

message = [1,2,3,'zhangsan',13.14]
message1 = message.copy()
print(message1)

在这里插入图片描述

使用循环遍历列表

while循环遍历列表

message = [1,2,3,'zhangsan',13.14]
i = 0
while i < len(message):  # len() 函数求列表长度
    print(message[i],end = '\t')
    i += 1

在这里插入图片描述

for循环遍历列表

message = [1,2,3,'zhangsan',13.14]
for i in message:
    print(i,end = '\t')

在这里插入图片描述

列表的嵌套

列表中可以包含各种数据类型,当然也可以包含列表。

message = [1,2,3,'zhangsan',['lisi','wangwu']]
print(message)
print(type(message))

在这里插入图片描述
如果我们想要访问列表中的列表中的数据(哈哈哈,有点绕啊),可以使用
列表序列[列表中的列表所对应的下标][ n ]

message = [1,2,3,'zhangsan',['lisi','wangwu']]
print(message[4][0])
print(message[4][1])

在这里插入图片描述

元组

什么是 python 元组

Python中的元组是一种有序的、不可变的数据类型。它类似于列表,但与列表不同的是,元组的元素是不可修改的。

元组使用圆括号 () 来创建,其中的元素可以通过逗号进行分隔。

message = (1,2,3,'zhangsan',13.14)
print(type(message))

在这里插入图片描述
**元组中需要注意的是:当元组中只有一个数据的时候,那个数据后面要加上
逗号( , ), 因为如果不加逗号的话,那么这个数据是什么类型,这个变量就会是什么类型。

message = (1)
print(type(message))

在这里插入图片描述

message = (1,)
print(type(message))

在这里插入图片描述
元组中的数据不能随意更改

message = (1,2,3,'zhangsan',13.14)
message[0] = 8
print(message)

在这里插入图片描述
如果要想更改元组中的数据,只能重新整体赋值

message = (1,2,3,'zhangsan',13.14)
message = (8,2,3,'zhangsan',13.14)
print(message)

在这里插入图片描述
但是如果元组中存在列表的话,那么这个列表是可更改的(但是不建议更改)

message = (1,2,3,'zhangsan',13.14,['lisi','wangwu'])
message[5][0] = 'zhaoliu'
print(message)

在这里插入图片描述
我们要尽量遵守元组数据不可更改的原则。

元组常见操作

😊index() 返回指定数据的下标

如果指定数据存在,则返回指定数据的下标,如果不存在,则报错。

message = (1,2,3,'zhangsan',13.14)
print(message.index('zhangsan'))  # 3

😎count() 返回指定数据出现的次数

message = (1,2,3,'zhangsan',13.14)
print(message.count('zhangsan'))  # 1
print(message.count('lisi'))  # 0

🤩len() 返回元组的长度

message = (1,2,3,'zhangsan',13.14)
print(len(message))  # 5

💕💕💕感谢大家的观看哦,如有错误,欢迎指正,如果大家觉得不错的话,记得点个赞哦,也欢迎大家订阅我的 python学习专栏🌹🌹🌹

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

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

相关文章

VMIC-pci-5565反射内存的优势

优势&#xff1a; &#xff08;1&#xff09;实现远程互连的能力 随着仿真实验复杂度的提高&#xff0c;需要多楼宇多试验室间设备的远程互连&#xff0c;通过单模光纤及光纤HUB将远距离的试验室设备进行连接&#xff0c;单模光纤支持的传输距离可达20km。对于距离300m以内的试…

免费搭建一个有脾气的聊天机器人,1行Python代码就够了!

大家好&#xff0c;这里是程序员晚枫。 之前在小破站&#xff1a;Python自动化办公社区给大家免费分享了用Python制作一个wx机器人&#xff0c;1行代码人人可用&#xff0c;很多人还想要免费的智能聊天功能。 今天终于开发出来了&#xff0c;让我们一起看一下&#xff0c;如何…

第四课—大学英语四六级备考—听力专项

Key Words 1.monarch n.君主政治 非常抱歉误解了您的问题。以下是关于"monarch"这两个意义的常见用法、造句和固定搭配的例子&#xff1a; 1. Monarch&#xff08;君主&#xff09;&#xff1a; - 造句&#xff1a; - The monarch of the country made an…

爆文:硬件工程师如何零基础入门?

大家好&#xff0c;我是记得诚。 最近老是有读者问我学习路线&#xff0c;之前其实写过一篇文章&#xff1a; 硬件工程师如何零基础入门&#xff1f;&#xff08;点击阅读&#xff09; 觉得很有必要再发一遍&#xff0c;这篇文章&#xff0c;在全网也算爆文了。 在CSDN有65…

SpringBoot项目中PageHelper给子查询做分页

目录 1.起因 2.sql改进 3.改造pagehelper 4.新的问题 方案一 方案二 方案三(终极) 5.附上pagehelper官方使用指南 1.起因 项目中有个查询非常慢,查询第一页都很慢, sql为一张大表A left join了许多张基础数据表(小表), select * from A left join b on xxx left join…

安全、环保的随身“数据库”——体验希捷锦系列移动硬盘

移动硬盘不属于那种技术更新换代快、差异化明显的产品&#xff0c;因此消费者在选购时关注的点无外乎容量、价格、外观、传输速度以及数据安全等方面。希捷新推出的锦系列移动硬盘&#xff0c;就聚焦数据安全&#xff0c;同时在选材上贯彻了环保理念&#xff0c;设计方面也值得…

Linux限制用户使用特权-限制su

Linux下&#xff0c;允许普通用户通过su命令切换到root身份进行操作。 相对于直接使用root登录操作&#xff0c;这钟方法要安全些。但仍存在安全隐患。 缩小特权使用用户的范围&#xff0c;无疑是更安全的做法。 Linux提供了这样的设置。 编辑/etc/pam.d/su文件&#xff0c…

ai绘画工具有免费的吗?3款ai画图工具分享

在ai绘画工具问世之后&#xff0c;我试验了各种软件&#xff0c;有的功能太过简单&#xff0c;无法满足我对创作的要求&#xff1b;有的则要求我花费大额费用才能享受完整的功能。这让我在探索过程中一度怀疑是否真的有免费软件能够满足我的需求。 然而功夫不负有心人&#xf…

MySQL数据库——MHA高可用

MySQL数据库——MHA高可用 一、MHA概述1&#xff0e;什么是 MHA2&#xff0e;MHA 的组成3&#xff0e;MHA 的特点 二、搭建 MySQL MHA1.Master、Slave1、Slave2 节点上安装 mysql5.72&#xff0e;修改 Master、Slave1、Slave2 节点的主机名&#xff0c;添加主从mysql的映射关系…

数据结构--栈的引用--前中后缀表达式(后部分)

数据结构–栈的引用–前中后缀表达式(后部分) 中缀表达式转后缀表达式&#xff08;手算) 中缀转后缀 \color{purple}中缀转后缀 中缀转后缀的 手算方法 \color{purple}手算方法 手算方法: ①确定中缀表达式中 各个运算符的运算顺序 \color{red}各个运算符的运算顺序 各个运算符…

编程手记【2023-6-25-2023-6-30】

1、Call to ‘toArray()’ with pre-sized array argument ‘new Integer[list.size()]’ 问题&#xff1a; // 将List转为数组 List<Integer> list Arrays.asList(1,2,3,4,5,6); Integer[] array list.toArray(new Integer[list.size()]); System.out.println(Array…

《移动互联网技术》 第二章 无线网络技术: 掌握各种近距离通信的基本概念和工作原理

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

ECShop 权限管理

如何增加一个新的权限 1、配置菜单所对应的权限code admin/includes/inc_priv.php $purview[02_cost_list] cost_list; 2、配置菜单的语言 languages/zh_cn/admincommon.php $_LANG[02_cost_list] 成本明细; 3、配置权限code的语言 languages/zh_cn/admin/priv_action.p…

制作电子宣传册详细教程?掌握技巧,让你0基础也能上手

企业电子宣传册是现代企业进行品牌推广和宣传的重要手段&#xff0c;随着互联网的发展&#xff0c;越来越多的企业开始使用电子宣传册来替代传统的纸质宣传册。电子宣传册可以通过互联网&#xff0c;微信公众号等传播渠道进行发布和传播&#xff0c;可以更加快速、便捷地传递企…

碳排放预测模型 | Python实现基于LR线性回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于LR线性回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是分析这…

二叉树刷题总结

题单&#xff1a; 一&#xff0c;相同的树 题目&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 题目接口&#xff1a; /*** Defin…

Tensorflow神经网络模型-鲜花种类识别

必应壁纸供图 Tensorflow神经网络模型-鲜花种类识别 数据集&#xff1a;https://download.csdn.net/download/weixin_53742691/87982215 导入相关依赖 import warnings import re from IPython.display import clear_output, display from tkinter import Tk, filedialog fro…

无序中的秩序之美:集合数据为编程世界增添新的维度

文章目录 集合数据简介集合数据特点常见的集合数据类型1. 列表&#xff08;List&#xff09;2. 元组&#xff08;Tuple&#xff09;3. 集合&#xff08;Set&#xff09;4. 字典&#xff08;Dictionary&#xff09; 集合数据简介 集合数据是指将多个元素组合在一起的数据结构。…

【数据库原理】MyShop 商城数据库设计(SQL server)

MyShop 商城数据库设计 项目背景定义课程设计要求概念结构设计逻辑结构设计数据结构的描述用户信息数据结构的描述地址信息数据结构的描述商品类别数据结构的描述商品数据结构的描述购物车数据结构的描述订单数据结构的描述订单项数据结构的描述 物理结构设计用户表结构地址表结…

机器视觉检测中的图像预处理方法:平滑模糊处理,锐化

一、平滑模糊处理 以Dalsa sherlock软件为例,一起来了解一下视觉检测中平滑模糊的图像处理方法。 1、观察灰度分布来描述一幅图像称为空间域,观察图像变化的频率被称为频域。 2、频域分析:低频对应区域的图像强度变化缓慢,高频对应的变化快。低通滤波器去除了图像的高频部…