循环将范围(0,10)规格化为(0,1)

2024-03-28 23:30:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要的是把0除以1。根据大于2的单个数字。 就像数字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

Tags: 列表序列数字个值
3条回答

从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]

>>>

您应该使用range(0,11)来获取从0到10的所有数字。你知道吗

range(..)的上限是独占的(意思是没有枚举),因此需要将一个步骤添加到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.chainiterables在一起,比如:

from itertools import chain

for i in chain(range(0, 11), range(10, -1, -1)):
    print(i/10.0)

因此,这里我们有一个010(包括两者)迭代的range(..),还有一个从100(包括两者)迭代的}。你知道吗

相关问题 更多 >