python - itertools.repeat(object[, times]) 如何在运行时选择性地设置时间选项?
问题描述
我有一个循环:
for x in itertools.repeat(1)
根据 cmd 行参数,我需要它是无限x
的或多次。
所以这
for x in itertools.repeat(1)
或这个
for x in itertools.repeat(1, x)
我怎样才能做到这一点?
解决方案
itertools.repeat
返回一个可迭代的,所以你可以这样做:
import sys
import itertools
if len(sys.argv) > 1:
repeater = itertools.repeat(1, int(sys.argv[1]))
else:
repeater = itertools.repeat(1)
for x in repeater:
print x
sys.argv
是 cli 输入;argv[0]
将始终是脚本名称,所以我假设argv[1]
将是您的输入。
推荐阅读
- csv - 计算 Google Earth Engine 中的像素面积以进行图像收集,然后将值导出为 CSV
- python - 从 apiclient 导入发现 ImportError:没有名为 apiclient 的模块
- java - 如何从流中删除对象
- sql - 仅选择 seqnum 为特定值的行
- css - 覆盖 JQXWidget css 样式不起作用
- c++ - 如何使用单独文件中的派生类访问朋友函数对象?
- google-apps-script - 如何在 google doc 中为不连续的段落添加序号?
- html - 无法排列这些行
- python - 如何在 Python 的循环中将一个进程的执行与另一个进程联系起来
- python - 满足第一个循环条件后,其他 while 循环不等待?