python - 如何在这个范围内打印奇数,即使增加 2 也能得到所有的数字?
问题描述
我的代码没有给出想要的结果,我想将 1 到 10 的奇数一个一个地添加到这个列表中,但它正在将它们全部添加。
l=[]
for i in range(1,10):
l.append(i)
i=i+2
print(l)
我想在列表中存储 1,3,5,7,9。
解决方案
python中的迭代器不能在for循环体内动态改变。修改当前值不会影响迭代中接下来出现的内容。
所以如果你想打印奇数,你应该使用像这样的内置步长参数
l=[]
for i in range(1, 10, 2):
l.append(i)
print(l)
在这里,我们使用 2 的步长在每次迭代后将可迭代对象增加 2。
推荐阅读
- javascript - 无法在 Sinon 中对 Firebase 功能进行单元测试
- reactjs - React 中的 props 和紧耦合组件如何处理?
- batch-file - 如何使用 ffmpeg 将 rmvb 转换为相同质量的 mp4?
- sql - 不使用任何函数或 where 子句的表的最后一行
- linux - 更新 .sql 文件时 Docker 不更新卷
- php - 如何动态传递多个参数获取请求以检查 fbtoken 是否有效
- arrays - 如何在同一个 Swift 循环中迭代三个或更多数组?
- c# - 在 VS 社区中编译 .NET Core 应用程序(不同的运行时)
- c - 返回字符串与c中函数中的字符串不同
- keras - Keras张量流:InvalidArgumentError:节点'IsVariableInitialized_2196'