【发布时间】:2017-02-19 12:51:09
【问题描述】:
我正在尝试为每个循环生成一个随机值并将其保存到变量minimum,同时检查该数字是否已经在之前的循环之一中生成。
listQ 基本上包含从文件中随机选择的 6 行。这些行是从1 到max_line 之间选择的(基本上比max_line 值少6 步)。所以重要的是我必须生成一个乘以 6 的数字。
for x in range(0, 10):
minimum = random.randrange(0, max_line,6)
maximum = minimum+6
listQ = listQ[minimum:maximum]
这里有点卡住了。可能是一个列表?
【问题讨论】:
-
当然,附加到列表并使用
number in list进行检查是可能的。不过,对于大量数据,set()会更好。当然,这个辅助数据结构是在循环之外定义的! -
你的逻辑错了。假设
maximum = minimum + 6是没有意义的,因为 randrange 可以返回 0 作为最小值,因此最大值最多只有 6。 -
0 和 6 没有错,因为 0 是列表中的第一个值。