在 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 内置函数和结构的熟悉程度以及特定的上下文。

相关推荐
GISer_Jing3 分钟前
AI全栈工程师知识体系全景:从前后端核心架构到落地项目全拆解
前端·人工智能·后端·ai编程
longxibo5 分钟前
【Flowable 7.2 源码深度解析与实战-前言】
java·后端·流程图
全栈小刘11 分钟前
ChatGPT账号打通OpenClaw?Codex又整了个“电子宠物”,开发者这下真坐不住了
后端
陈随易23 分钟前
bun将会支持Bun.image,你怎么看?
前端·后端·程序员
念何架构之路31 分钟前
Go Web基础和Http演进
开发语言·后端·golang
绿草在线40 分钟前
SpringBoot项目实战:从零搭建高效开发环境
java·spring boot·后端
longxibo1 小时前
【第1章 环境搭建与项目结构解析】
java·后端·流程图
程序员老邢1 小时前
【产品底稿 11】架构规整收官:从混乱到清晰,工程结构、表命名、模块分层一次性定型
后端·架构·springboot·产品底稿·架构规整·模块分层·数据库规范
IT_陈寒2 小时前
React的useEffect把我坑惨了,这些闭包陷阱真要命
前端·人工智能·后端
薪火铺子2 小时前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring