说我们有x = [2,4,5]
。如果我y = list(x)
,我会回到[2,4,5]
,对于元组也是如此。这对我来说有点令人惊讶,我原本可以预期[[2,4,5]]
。不回馈列表清单的动机是什么?
答案 0 :(得分:9)
list
内置类型采用任意可迭代(无论何种类型),并从中创建 new 列表。由于list
实例是可迭代的,因此可以通过迭代使用它来构造新列表。
如果您希望list([1,2,3])
提供[[1,2,3]]
,为什么不期望list((1,2,3))
返回[(1,2,3)]
或list(x for x in range(10))
返回[<generator object <genexpr> at 0xef170>]
?
答案 1 :(得分:0)
如果给list()
另一个列表,那么它会使用给定列表的成员创建一个列表(副本)