php中文网

为何这两行代码运行结果不同,答案却一致?

php中文网

为何我这两行代码运行结果不同,答案却一致?

问题:

threes = [range(3, 31, 3)]
threes = list(range(3, 31, 3))

答案:

虽然参考资料中的答案都相同,但运行结果确实不同,这是因为:

threes = [range(3, 31, 3)]

这行代码创建了一个嵌套列表。range(3, 31, 3) 返回一个生成器,表示从 3 到 30(不包含 30)以 3 为步长的数字序列。然后,threes 列表将这个生成器作为其唯一的元素。

threes = list(range(3, 31, 3))

这行代码直接将 range(3, 31, 3) 生成的序列转换为一个列表。因此,threes 现在是一个列表,其中包含从 3 到 30(不包含 30)以 3 为步长的数字。

要获得与第二行代码相同的结果,只需要删除嵌套列表的外部 []:

threes = range(3, 31, 3)

以上就是为何这两行代码运行结果不同,答案却一致?的详细内容,更多请关注php中文网其它相关文章!