python - 卡在循环中递增的值
问题描述
最近,我在练习嵌套循环。我被数字和数组元素的迭代列表困住了。
问题 - 我有一个包含 3 个元素 [A,B,C] 的数组,我想将它们添加到 1-100 的数字中。
totalnum = 100
alpha = ['A', 'B', 'C']
length = len(alpha)
for i in range(1,totalnum):
for j in range(length):
result = i,alpha[j]
break
print(result)
我打算得到如下输出:
(1, 'A')
(2, 'B')
(3, 'C')
(4, 'A')
(5, 'B')
(6, 'C')
解决方案
你break
来错地方了。话虽如此,这里有几个更好的方法来做到这一点:
totalnum = 100
alpha = ['A', 'B', 'C']
length = len(alpha)
for i in range(1, totalnum + 1):
print(i, alpha[i % len(alpha)])
或者
from itertools import cycle
totalnum = 100
alpha = cycle(['A', 'B', 'C'])
length = len(alpha)
for i in range(1, totalnum + 1):
print(i, next(alpha))
或(正如 Patrick Haugh 所指出的)
from itertools import cycle
for x in zip(range(1, 101), cycle('ABC')):
print(x)
推荐阅读
- laravel - 应用程序路由重定向错误的 URL
- jquery - Jquery 数组中最近的最高值返回未定义
- google-apps-script - 从 B 列“读取”的附加邮件地址
- php - Moodle插件:检查管理员是否在管理中添加插件链接
- google-maps-android-api-2 - 适用于 Android 的 Google 地图,防火墙白名单
- c++ - 正在调用默认构造函数而不引用它
- c# - 使用 EF 和 LINQ 限制查询列表内容
- r - 选择在 R 中坐标为 (x1,y1),(x1,y2),(x2,y1),(x2,y2) 的区域中发生的案例
- python - 在控制台中写入绘图窗口,不希望单独弹出绘图窗口
- django - Django 管理面板复选框左侧有标签