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

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

前言

在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)


2d7a258ed7534d0fa46025d21a0f2fe2.png

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学习专栏🌹🌹🌹


相关文章
|
7天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
WK
|
25天前
|
Python
python元组与列表的转换
在 Python 中,元组(tuple)和列表(list)是两种常用的数据结构,它们之间可以相互转换
WK
31 9
|
24天前
|
Python
探索Python中的列表推导式
【10月更文挑战第20天】在编程世界里,时间就是一切。Python的列表推导式是节约时间、简化代码的一大利器。本文将带你深入理解并有效利用这一强大工具,从基础到高级用法,让你的代码更加简洁高效。
|
24天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
19 7
|
24天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
17 6
WK
|
25天前
|
Python
Python创建元组
必须在这个元素后面加上一个逗号,否则 Python 会把它当作一个普通的带圆括号的表达式而不是元组
WK
15 4
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
17 1
|
23天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
14 1
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
15 1