gpt4 book ai didi

python - 为什么 [[]] == list(list())

转载 作者:行者123 更新时间:2023-12-04 01:31:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What is the difference between a list of a single iterable `list(x)` vs `[x]`?

(1 个回答)


1年前关闭。




我只是在 Python 中随机观察到以下内容,并且很想知道它的计算结果为 False 的原因。 :

list(list()) == [[]]
有趣的是,如果您按以下方式重新排列语法,第一种方式的计算结果为 False ,但第二个为 True :
list([]) == [[]]
[list()] == [[]]
这里发生了什么?

最佳答案

来自 Python 2 documentation on the list constructor

class list([iterable])

Return a list whose items are the same and in the same order as iterable’s items. iterable may be either a sequence, a container that supports iteration, or an iterator object. If iterable is already a list, a copy is made and returned, similar to iterable[:]. For instance, list('abc') returns ['a', 'b', 'c'] and list( (1, 2, 3) ) returns [1, 2, 3]. If no argument is given, returns a new empty list, [].



当您通过 listlist()它返回一个副本,而不是一个嵌套列表,而 [[]]创建一个空的嵌套列表 - 或者更确切地说是一个包含单个元素的列表,该元素本身就是一个空列表。

备注 - 这在相应的 Python 3 documentation 中明显不存在,但无论如何它都适用于 Python 3。

关于python - 为什么 [[]] == list(list()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58983220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com