2016-06-19 39 views
0
for i in range(3): 
    print (i) 

的范围内,我们将获得数从0到2为什么我们不能得到一个特定的负数

但我想知道特定负数的范围内。例如-3。 我从我的朋友那里知道,因为索引负数不能存储值。我无法理解这个概念,因为我在编程语言方面很差。

回答

4

范围不是指数,并能产生负数就好:

>>> list(range(-3, 0)) 
[-3, -2, -1] 

请注意,我必须指定了起始和结束的值,否则它会从0开始,默认方向数到起来

如果你需要倒计时至-3,告诉它倒计时:

>>> list(range(0, -3, -1)) 
[0, -1, -2] 

即使如此,索引负数作品就好过;他们从末端计数并转换为绝对索引内部仍然允许存储:

>>> a = ['foo', 'bar', 'baz'] 
>>> a[-2] = 'spam' 
>>> a 
['foo', 'spam', 'baz'] 
+0

>>>为i的范围(-3): \t打印我 \t >>> –

+0

@SuryaKumari:这就是我想向你解释的:你不能只指定'-3'作为唯一的参数,因为那样只会指定* end值*,并且默认的开始值是'0',而默认的步长是'1'。因为'0'大于'-3',所以你已经结束了,没有任何东西被打印出来。您需要根据需要指定不同的开始,结束和步骤值。 –

+0

现在,这清除了我的怀疑。谢谢。 –

相关问题