我需要的是根据大于2的单个数字将0除以1。 像5一样,所以0到5会像这样
0.00
0.25
0.50
0.75
1.00
列表中有5个值
我的另一个问题是如何获得这样的序列,其中中间数字是1,第一个和最后一个数字是0(如果数字是10)。
0.00
0.25
0.50
0.75
1.00
1.00
0.75
0.50
0.25
0.00
答案 0 :(得分:5)
range(..)
的上限是 排他 (表示它不是未枚举),因此您需要添加< em>一步到range(..)
函数:
for i in range(0,11):
b = i*(1.0/10)
print b
话虽如此,如果要创建这样的数组,可以使用numpy.arange(..)
:
>>> import numpy as np
>>> np.arange(0, 1.1, 0.1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
因此,您可以为offset,end和step参数指定浮点数。
关于第二个问题,可以一起itertools.chain
迭代,例如:
from itertools import chain
for i in chain(range(0, 11), range(10, -1, -1)):
print(i/10.0)
因此,我们有一个从range(..)
迭代到0
(包括两端)的一个 10
,还有一个从10
迭代的对象,到0
(包括两端)。
答案 1 :(得分:2)
您应该使用range(0,11)
来获取0到10之间的所有数字。
答案 2 :(得分:2)
0到10范围内的数字将为0到9。以下是一些实用的解释:
>>> list(range(0,10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(0,11))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
>>> list(range(0,1))
[0]
>>>