如何将Python元组转换为列表

2,114 阅读3分钟

How to Convert Python Tuple to List

列表元组是 Python 中最常用的数据类型 。Python 中的tuple数据类型与list相似,但有一点不同,即 tuple 的元素值不能被修改,而且 tuple 项目被放在小括号之间,而不是方括号。

要把Python list 转换为 tuple,请使用 **tuple()**方法。

Python 元组到列表

要在Python 元组转换为列表,使用**list()**方法。 **list()**是一个内置的 Python 方法,它接受一个元组作为参数并返回列表。**list()**接受序列类型并将其转换为列表。

语法

list(sequence)

参数

序列是一个将被转换为列表的元组。

返回值

list()方法返回列表。

例子

tup = (21, 19, 11, 46, 18)
print(tup)

lt = list(tup)
print(lt)

输出

(21, 19, 11, 46, 18)
[21, 19, 11, 46, 18]

你可以看到 list() 方法已经将一个元组转换为一个列表,而且所有的元组元素都是完整的。

将一个图元组的列表转换成一个列表

将一个 图元 组的 列表 转换为一个列表,请使用列表 理解。当你想根据现有列表的值创建一个新的列表时,列表理解提供了一个更短的语法。

# List of tuple initialization
listoftuples = [("Apple", 1), ("Microsoft", 2), ("Amazon", 3)]

# Using list comprehension
out = [item for t in listoftuples for item in t]

# Printing output
print(out)

输出

['Apple', 1, 'Microsoft', 2, 'Amazon', 3]

使用列表理解,我们可以将一个图元的列表转换为一个单一的列表。

你也可以使用**itertools.chain()**方法将一个图元的列表转换为一个列表。

# Importing itertools
import itertools

# List of tuple initialization
tuple = [(11, 21), (31, 41), (51, 61)]

# Using itertools
out = list(itertools.chain(*tuple))

# Printing output
print(out)

输出

[11, 21, 31, 41, 51, 61]

使用for循环和append()将图元组转换为列表

创建一个空的列表,使用 **append()**方法一次填入一个元组元素,并将元组元素传递给for循环体中的函数,迭代所有元组元素。

# app.py

def convert_tuple_to_list(tup):
    brand_new_list = []
    for element in tup:
        brand_new_list.append(element)
    return brand_new_list


tupl = (1, 2, 8, 11)
print(convert_tuple_to_list(tupl))
tupl_2 = ('Vecna', 'Bob', 'Kali', 'Eleven')
print(convert_tuple_to_list(tupl_2))
tupl_3 = (11, )
print(convert_tuple_to_list(tupl_3))

输出

[1, 2, 8, 11]
['Vecna', 'Bob', 'Kali', 'Eleven']
[11]

列表append()方法将一个元素追加到列表的末尾。

使用星号(*)运算符

使用 Python 3.5 中的解包星号运算符 *,使用表达式**[*t]**用方括号符号创建一个新的 list,并将 tuple t 的所有元素解包到该 list 中。

# app.py

def convert_tuple_to_list(tup):
  return [*tup]


tupl = (1, 2, 8, 11)
print(convert_tuple_to_list(tupl))
tupl_2 = ('Vecna', 'Bob', 'Kali', 'Eleven')
print(convert_tuple_to_list(tupl_2))
tupl_3 = (11, )
print(convert_tuple_to_list(tupl_3))

输出

[1, 2, 8, 11]
['Vecna', 'Bob', 'Kali', 'Eleven']
[11]

**[*tup]**是 Python 中将元组转换为列表的最简洁的单行代码。

总结

在 Python 中使用 list() 方法将一个元组转换为一个列表。 **list()tuple()**在给定一个可迭代对象,如 list、tuple、set、range 等时,会返回一个新的 list 和 tuple。本教程就到此为止。

参见

Python 列表到集合

Python list to csv

Python list to array

Python list to string

Python list to dataframe

The postHow to Convert Python Tuple to Listappeared first onAppDividend.