在 Python 中将元组转换为列表

这两种Python 数据类型看起来很相似,但在上下文中却有不同的用法。元组和列表之间的主要区别在于它们的可变性。仅当您需要修改元素时才会将元组转换为列表。

例子

python 复制代码
Input: GFG_Tuple = ("DSA, "MERN"," PYTHON", "KOTLIN)
Output: GFG_LIST= ["DSA, "MERN"," PYTHON", "KOTLIN]
Explanation: Here, we convert our tuple into a list with "list()" function in Python.

元组和列表的区别?

元组是不可变的,这意味着一旦创建它,您就无法更改其值。元组由括号() 定义,元素/项目之间用逗号(,) 分隔。然而,列表与元组相同,但它们是可变的,这意味着您可以修改/更改值。该列表由方括号\[\] 定义。

在 Python 中将元组转换为列表

要将元组转换为列表,您需要首先进行一些更改,然后将元组转换为列表,因为元组是不可变的,因此您不可能将元组直接更改为列表。现在我们将深入研究将元组转换为列表的不同方法。

  • 使用 list() 函数
  • 使用 for 循环
  • 使用列表理解
  • 使用(*)运算符
  • 使用map()函数

使用 list() 函数将元组转换为列表

将元组转换为列表的最简单方法是使用内置的 list() 函数

python 复制代码
# 定义元组
GFG_tuple = (1, 2, 3)

# 将元组转换为列表
GFG_list = list(GFG_tuple)
print(GFG_list)

输出

python 复制代码
[1,2,3]

使用 for 循环将元组转换为列表

使用 for 循环遍历元组中的每个元素。对于循环的每次迭代(即,对于元组中的每个项目),append() 方法将元素添加到列表的末尾。

python 复制代码
GFG_tuple = ( 1, 2, 3)
GFG_list = []

for i in GFG_tuple:
	GFG_list.append(i)
	
print(GFG_list)

输出

python 复制代码
[1,2,3]

使用列表理解将元组转换为列表

使用列表理解是执行此转换的另一种方法。它有助于以清晰简洁的方式从另一个序列构建一个序列。

python 复制代码
# 定义元组
GFG_tuple = (1, 2, 3)

# 使用列表理解将元组转换为列表
GFG_list = [element for element in GFG_tuple]
print(GFG_list)

输出

python 复制代码
[1,2,3]

使用 ( * ) 运算符将元组转换为列表

*运算符在 Python 中也称为解包,有多种不同的用途。用途之一是将集合解包到函数调用中的位置参数中。我们用它来将元组转换为列表。

python 复制代码
# 定义元组
GFG_tuple = (1, 2, 3)

# 使用*运算符将元组转换为列表
GFG_list = [*GFG_tuple]

print(GFG_list)

输出

python 复制代码
[1,2,3]

使用 map() 函数将元组转换为列表

map () 函数在每个项目中应用给定的函数并返回结果列表。

python 复制代码
# 定义元组
GFG_tuple = (1, 2, 3)

# 使用 map 函数将元组转换为列表
GFG_list = list(map(lambda x: x, GFG_tuple))

print(GFG_list)

输出

python 复制代码
[1,2,3]

结论

在 Python 中,元组到列表的转换可以通过多种方式完成。优化的方法取决于对 Python 内置函数和结构的熟悉程度以及特定的上下文。

相关推荐
IT_陈寒8 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱9 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
Wang's Blog9 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
Conan在掘金9 小时前
鸿蒙报错速查:struct 里嵌 namespace 声明就炸,根因 + 真解法
后端
东方小月10 小时前
从零开发一个 Coding Agent(三):EventStream 事件流通道设计与实现
前端·人工智能·后端
卫子miao10 小时前
如何评价当前大语言模型的记忆机制?
后端·架构
神奇小汤圆10 小时前
为什么 AQS 成为 Java 并发的基石?
后端
星栈11 小时前
MCP 从 stdio 迁到 SSE,踩了 5 个传输层坑
人工智能·后端·架构
Conan在掘金11 小时前
鸿蒙报错速查:struct 里嵌 enum 声明就炸,根因 + 真解法
后端
回家路上绕了弯12 小时前
Java双数据源实战全指南:Spring Boot多数据源配置、原理与踩坑避坑
后端