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

相关推荐
蝎子莱莱爱打怪41 分钟前
Hadoop3.3.5、Hbase2.6.1 集群搭建&Phoenix使用记录
大数据·后端·hbase
David爱编程1 小时前
并发编程三大特性全解析:原子性、可见性、有序性,一文讲透!
java·后端
你的人类朋友2 小时前
git常见操作整理(持续更新)
前端·git·后端
你的人类朋友2 小时前
git中的Fast-Forward是什么?
前端·git·后端
黑客影儿3 小时前
Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
开发语言·后端·安全·web安全·网络安全·golang·系统安全
追逐时光者4 小时前
一款基于 Ant Design 设计语言实现、漂亮的 .NET Avalonia UI 控件库
后端·.net
笃行3506 小时前
从零开始:SpringBoot + MyBatis + KingbaseES 实现CRUD操作(超详细入门指南)
后端
该用户已不存在6 小时前
这几款Rust工具,开发体验直线上升
前端·后端·rust
用户8356290780516 小时前
C# 从 PDF 提取图片教程
后端·c#
L2ncE7 小时前
高并发场景数据与一致性的简单思考
java·后端·架构