使用范围打印[100,1000,10000]

时间:2018-12-16 13:03:26

标签: python

我有这样一个列表:

for i in [100, 1000, 10000]:
    print(i)

我如何用范围复制它

for i in range(100, 10000, 100)
    print(i)

上面的代码无法正常工作。

3 个答案:

答案 0 :(得分:8)

您正在打印10的幂,因此您可以这样做:

>>> for i in range(2, 5):
...     print(pow(10, i))
... 
100
1000
10000

编辑

如格雷厄姆在评论中所言,您也可以这样做

>>> for i in range(2, 5):
...     print(10 ** i)
... 
100
1000
10000

如果您更喜欢使用**表示法进行求幂。

答案 1 :(得分:4)

单行:

print(*(10 ** n for n in range(2, 5)), sep='\n')

不是*运算符which is used to unpack the tuple**的幂为10,sep表示放置在元素print输出之间的字符串。

正如@Walter在评论中指出的那样,此方法对于较大范围并不是特别有效。在这种情况下,建议使用@snakecharmerb的for循环方法。

答案 2 :(得分:2)

有两种选择

import numpy as np
for i in np.logspace(2, 4, num = 3, endpoint = True, dtype = np.int):
    print(i)

或(根据@Graham注释进行编辑)

for i in (10**k for k in range(2, 5)):
    print(i)