为了账号安全,请及时绑定邮箱和手机立即绑定

range是什么?

t = tuple(range(0,10))

print t

为什么老是报错?

正在回答

2 回答

首先开篇明义 哈哈, 题主的代码无论是在 Python2.x 还是 Python 3.x 中都是可以运行的, 你说的报错应该是 在网站的 课程中报错, 并不是你代码有错误,是网站的 正确性验证 做的太死了。 以下的代码是可以通过该课程的:

t = ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 )
print t

然后我们莱讲讲 range 到底是什么,range 在 Python2.x 和Python3.x 中返回的不一样, 但是都可以给 tuple 做参数。分开来讲:

Python2.x 中的 range, 官方解释如下:

range([start,] stop[, step]) -> list of integers
   
   Return a list containing an arithmetic progression of integers.

也就是说 在Python2.x 中 range 返回的就是一个整数的 list.


Python3.x 中的 range, 官方解释如下:

range(stop) -> range object

range(start, stop[, step]) -> range object


Return an object that produces a sequence of integers from start (inclusive) to stop (exclusive) by step.

各种调用细节都一样,只是返回的不是list 类型了,而是一个 range object, 也就是说 range 自立门户了,自成一个类型啦。 这个range 类型类似一个生成器。


下面说 tuple()函数, 同样引用官方文档:

tuple(iterable) -> tuple initialized from iterable's items 

很明显只要给它传一个 iterable 类型的参数就可以了, Python 中有好多 iterable类型的数据类型,比如说 list, dict, range,甚至于 string 都是可以的。

1 回复 有任何疑惑可以回复我~

你可以试试在Python命令栏中输入 help(range)查看帮助说明

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

range是什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信