gpt4 book ai didi

python - 为什么 [range(10)] 和 list(range(10)) 不一样?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:00 25 4
gpt4 key购买 nike

为什么 [range(10)]list(range(10)) 在 Python 3 中不同?

输出如下:

>>> print([range(10)])
[range(0, 10)]
>>> print(list(range(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

最佳答案

引用 the docs ,“列表可以用多种方式构建”:

[range(10)]

构建一个包含 1 个项目的列表,range object .通常,方括号中以逗号分隔的项目列表构成所述项目的列表。

list(range(10))

通过 range object作为 list constructor 的参数:

class list([iterable])

The constructor builds 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 example, list('abc') returns ['a', 'b', 'c'] and list( (1, 2, 3) ) returns [1, 2, 3]. If no argument is given, the constructor creates a new empty list, [].

Python 3 中的范围 represents an immutable sequence of numbers ,因此在您的情况下,结果列表是该范围内的数字列表。

关于python - 为什么 [range(10)] 和 list(range(10)) 不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44898255/

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