首页 > 解决方案 > 为什么给定数据类型“range”的变量在使用“type”函数时仍显示为“list”?

问题描述

在研究 Python 中的数据类型时,我遇到了一个数据类型范围,并使用了一个变量来定义它。但是使用类型函数来了解这一点仍然表明它是一个列表数据类型。

我在这里错过了什么吗?请指导。太感谢了。

x = range(3)
print(type(x))

输出如下图:

C:\Python27>python.exe learn.py
<type 'list'>

标签: pythonpython-2.7

解决方案


看来您正在混淆 Python 3 和 2。这是 Python 的两个主要版本。Python 3000 引入了许多故意向后不兼容的更改,包括 range 函数的工作方式。

在 Python 2 中,range 函数立即展开为列表 list_range = list(range(3))

在 Python 3 中,它只是对范围数据类型的映射。

在此处查看官方文档 [ https://docs.python.org/3.0/whatsnew/3.0.html]

这与记忆有关。


推荐阅读