python - 如何动态地迭代python中的以下字符串或从用户那里获取输入?
问题描述
这是问题所在:
number_of_batches = 8
number_of_dishes = 6
batch_names = batch_1 , batch_2, batch_3,batch_4, batch_5, batch_6, batch_7,batch_8
dish_names = dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
预期输出:
batch_1: dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
batch_2: dish_2, dish_3, dish_4, dish_5, dish_6, dish_1
batch_3: dish_3, dish_4, dish_5, dish_6, dish_1, dish_2
batch_4: dish_4, dish_5, dish_6, dish_1, dish_2, dish_3
batch_5: dish_5, dish_6, dish_1, dish_2, dish_3, dish_4
batch_6: dish_6, dish_1, dish_2, dish_3, dish_4, dish_5
batch_7: dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
batch_8: dish_2, dish_3, dish_4, dish_5, dish_6, dish_1
解决方案
如果都是字符串,使用 adeque
获取 nicerotate
方法
from collections import deque
number_of_batches = 8
number_of_dishes = 6
batches = [f"batch_{i + 1}" for i in range(number_of_batches)]
dishes = deque(f"dish_{i + 1}" for i in range(number_of_dishes))
for batch in batches:
print(batch, ":", *dishes)
dishes.rotate(-1)
batch_1 : dish_1 dish_2 dish_3 dish_4 dish_5 dish_6
batch_2 : dish_6 dish_1 dish_2 dish_3 dish_4 dish_5
batch_3 : dish_5 dish_6 dish_1 dish_2 dish_3 dish_4
batch_4 : dish_4 dish_5 dish_6 dish_1 dish_2 dish_3
batch_5 : dish_3 dish_4 dish_5 dish_6 dish_1 dish_2
batch_6 : dish_2 dish_3 dish_4 dish_5 dish_6 dish_1
batch_7 : dish_1 dish_2 dish_3 dish_4 dish_5 dish_6
batch_8 : dish_6 dish_1 dish_2 dish_3 dish_4 dish_5
推荐阅读
- azure-devops - 有没有办法在 Azure Dev Ops 测试中查看与特定测试计划关联的运行?
- java - Google People API - 按更新时间排序未按预期工作
- node.js - 从后端应用程序保护 NodeJS 中的 POST 请求
- css - CSS 类名选择
- javascript - 如何使用 JS 中的数据动态创建条形图
- spotify - 将音乐从流媒体平台(Deezer、Spotify、Soundcloud)流式传输到 Web Audio API
- javascript - 禁用滚动直到动画完成
- javascript - 订阅后的空数组
- java - 我无法让我的程序按升序显示平均值
- c# - C# Generic Type Inference...无论如何要自动推断数组元素的类型?