python - 为什么给定数据类型“range”的变量在使用“type”函数时仍显示为“list”?
问题描述
在研究 Python 中的数据类型时,我遇到了一个数据类型范围,并使用了一个变量来定义它。但是使用类型函数来了解这一点仍然表明它是一个列表数据类型。
我在这里错过了什么吗?请指导。太感谢了。
x = range(3)
print(type(x))
输出如下图:
C:\Python27>python.exe learn.py
<type 'list'>
解决方案
看来您正在混淆 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]
这与记忆有关。
推荐阅读
- php - 使用 ajax 设置 Code Igniter 会话(是否可以在不使用警报的情况下设置它?)
- windows - 加载dll失败。找不到指定的模块
- javascript - 为什么 Javascript 中不经常使用链表
- c - c munmap_chunk:使用free() 时指针无效或--如何检查指针是否指向某物?
- php - Laravel 6:调用未定义的方法 App\\User::createToken()
- python-3.x - 从使用 Keras 和 Theano 的预训练模型获取中间层激活数组时遇到的问题?
- c++ - 为什么 main 函数不能返回负数?
- linux - 通过在我的 Linux 终端中运行脚本来初始化 PySpark shell(Spark 版本 2.4.4)
- regex - 应该包含括号的正则表达式会在 Sublime Text 中排除它们
- python - 如何用python将图片划分为等间距的正方形?