在Python中把列表和图元相互转换:list(), tuple()

商业

当你想在 Python 中把列表 (数组) 和图元相互转换时,请使用 list() 和 tuple() 。

如果可迭代的对象,如集合类型以及列表和元组被作为参数给出,将返回列表和元组类型的新对象。

以下是列表、元组和范围类型变量的例子。

l = [0, 1, 2]
print(l)
print(type(l))
# [0, 1, 2]
# <class 'list'>

t = ('one', 'two', 'three')
print(t)
print(type(t))
# ('one', 'two', 'three')
# <class 'tuple'>

r = range(10)
print(r)
print(type(r))
# range(0, 10)
# <class 'range'>

从Python 3开始,range()返回一个类型为range的对象。

请注意,虽然为了方便起见使用了 “转换 “一词,但实际上是创建了新的对象,而原来的对象保持不变。

生成名单: list()

当一个可迭代的对象如元组被指定为list()的参数时,一个带有该元素的列表被生成。

tl = list(t)
print(tl)
print(type(tl))
# ['one', 'two', 'three']
# <class 'list'>

rl = list(r)
print(rl)
print(type(rl))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# <class 'list'>

生成图元: tuple()

当一个可迭代的对象(如列表)被指定为tuple()的参数时,就会生成一个带有该元素的元组。

lt = tuple(l)
print(lt)
print(type(lt))
# (0, 1, 2)
# <class 'tuple'>

rt = tuple(r)
print(rt)
print(type(rt))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# <class 'tuple'>

增加或改变图元的元素

元组是不可变的(不可更新),所以元素不能被改变或删除。然而,一个元素被改变或删除的元组可以通过使用list()生成一个列表,改变或删除元素,然后再次使用tuple()来获得。