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

相关推荐
鹿导的通天塔5 小时前
99%的人都不知道Codex 的 goal 神技!完整设置及提示词模板教学
后端
ltl7 小时前
Transformer 原论文怎么训出来的:8 张 P100、12 小时、warmup 4000 步
后端
why技术7 小时前
AI Coding开始进入第四个时代,我还没上车呢!
前端·人工智能·后端
程序猿追8 小时前
我搭了个网页工具:输入关键词,SERP API 自动吐出比价 Excel
后端
Lee川8 小时前
RAG 实战:从一篇掘金文章出发,拆解检索增强生成的全链路
前端·人工智能·后端
Lee川9 小时前
MCP 高德地图实战:当 AI 学会使用工具,一个协议如何重塑大模型的行动边界
前端·人工智能·后端
楼田莉子9 小时前
C++17新特性:__had_include/属性/求值顺序规则
开发语言·c++·后端
程序员cxuan9 小时前
Codex 把我家烂网给优化后,我 TM 直接原地起飞了。
人工智能·后端·程序员
IT_陈寒9 小时前
Redis批量删除踩了坑,原来DEL命令不是万能的
前端·人工智能·后端
叫我少年10 小时前
C# 命名空间与 using 指令 — 文件范围、全局导入、别名
后端