我有这样一个列表:
for i in [100, 1000, 10000]:
print(i)
我如何用范围复制它
for i in range(100, 10000, 100)
print(i)
上面的代码无法正常工作。
答案 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)