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


相关文章
|
13天前
|
索引 Python
Python列表
Python列表。
42 8
|
16天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
29 9
|
24天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
53 14
|
26天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
36 10
|
2月前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
2月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
2月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
2月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
22 1
|
2月前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
43 2
|
3月前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
20 1