python - 在 Python 中,range(1, 100, *10) 不起作用?
问题描述
range()
我的 for 循环有问题。
在 C++ 中,for 循环可以这样使用:
for(int i=1;i<=100;i*=10){
//lala
}
我的导致错误的 Python 脚本如下所示:
li = [x for x in range(100, 0, /10)]
print(li)
我希望得到li = [100, 10, 1]
我怎样才能在不使用的情况下实现这一点li.append ( 100, 10, 1 )
?
解决方案
你不能用range
这个。range 的第三个参数是用于递增值的固定步长:它不能用于乘以或除以先前的值。
相反,使用while
循环:
i = 1
while i < 100:
...
i *= 10 # or i /= 10 depending on what you want.
如果您真的想使用列表推导,可以按照 Albin Paul 的建议进行操作:
li = [10**x for x in range(3) ] # [1, 10, 100]
li = [10**x for x in range(2, -1, -1) # [100, 10, 1]
推荐阅读
- lua - 如何打印 lua 字节码而不将其转换为可读的等效项?
- javascript - 无论设备大小如何,获取鼠标单击图像的坐标(X,Y)
- javascript - Vue Router - 我怎样才能实现这种类型的路由?
- c# - 安排电报机器人发送消息?
- angular - Angular 10 找不到 @angular 模块
- java - android studio中带有电子邮件验证的远程系统
- libgdx - 防止传感器与其他物体重叠
- reactjs - useEffect 更新它自己的依赖导致无限循环
- javascript - req.body 和 req.file 都是空的
- sql - 从列 SQL 计算时间