list()函数在Python中做什么?
我知道list()
构造函数会创建一个新列表,但是它的特征到底是什么?
-
打电话时会
list((1,2,3,4,[5,6,7,8],9))
怎样? -
打电话时会
list([[[2,3,4]]])
怎样? -
打电话时会
list([[1,2,3],[4,5,6]])
怎样?
据我所知,调用构造函数list
会删除最外面的花括号(元组或列表),并将其替换为[]
。这是真的?还有什么其他细微差别list()
?
-
list()
将传递给它的iterable转换为列表。如果itertable已经是一个列表,则返回 浅表副本
,即仅最外层的容器是新的,其余对象仍然相同。>>> t = (1,2,3,4,[5,6,7,8],9) >>> lst = list(t) >>> lst[4] is t[4] #outermost container is now a list() but inner items are still same. True >>> lst1 = [[[2,3,4]]] >>> id(lst1) 140270501696936 >>> lst2 = list(lst1) >>> id(lst2) 140270478302096 >>> lst1[0] is lst2[0] True