擅长:python、mysql、java
<p><strong>注意:</strong>其他答案都没有考虑可能的序列<code>[23,0,1]</code></p>
<p>请注意,使用python lib中的<code>itertools</code>可以实现以下功能:</p>
<pre><code>from itertools import islice, cycle
from random import choice
hours = list(range(24)) # List w/ 24h
hours_cycle = cycle(hours) # Transform the list in to a cycle
select_init = islice(hours_cycle, choice(hours), None) # Select a iterator on a random position
# Get the next 3 values for the iterator
select_range = []
for i in range(3):
select_range.append(next(select_init))
print(select_range)
</code></pre>
<p>这将以循环方式打印<code>hours</code>列表中三个值的序列,这也将包括在结果中,例如<code>[23,0,1]</code>。你知道吗</p>