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

相关推荐
customer0810 分钟前
【开源免费】基于SpringBoot+Vue.JS医疗报销系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
B站计算机毕业设计超人13 分钟前
计算机毕业设计SpringBoot+Vue.jst房屋租赁系统(源码+LW文档+PPT+讲解)
vue.js·spring boot·后端·eclipse·intellij-idea·mybatis·课程设计
m0_748248651 小时前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
一个热爱生活的普通人2 小时前
golang的切片(Slice)底层实现解析
后端·go
红目香薰2 小时前
Trae——慧码速造——完整项目开发体验
后端
Vcats3 小时前
深入浅出:基于SpringBoot和JWT的后端鉴权系统设计与实现
java·spring boot·后端
~kiss~3 小时前
Rust~二刷异步逻辑
开发语言·后端·rust
SomeB1oody3 小时前
【Rust中级教程】2.7. API设计原则之灵活性(flexible) Pt.3:借用 vs. 拥有、`Cow`类型、可失败和阻塞的析构函数及解决办法
开发语言·后端·性能优化·rust
larance3 小时前
Flask 发送邮件
后端·python·flask
Aska_Lv3 小时前
从零到一写组件库-日志组件库
后端