Python 如何随机选取整数间隔/范围

Python 如何随机选取整数间隔/范围,python,random,Python,Random,我有一个列表0-9:[0,1,2,3,…,9] 我想随机输出2矢量与给定的跨度和连续的数字,绘制没有替换。 如果span=3 输出可能是 ([2,3,4], [7,8,9]) 或 ([3,4,5],[6,7,8]) 两个向量不能重叠。 有什么建议吗? 谢谢。代码: lst = list(range(0,10)) import random span = 3 def get_random(lst, span): starting_first = random.sample(lst[:-s

我有一个列表0-9:[0,1,2,3,…,9] 我想随机输出2矢量与给定的跨度和连续的数字,绘制没有替换。 如果span=3 输出可能是 ([2,3,4], [7,8,9]) 或 ([3,4,5],[6,7,8])

两个向量不能重叠。 有什么建议吗? 谢谢。

代码:

lst = list(range(0,10))
import random

span = 3
def get_random(lst, span):
    starting_first = random.sample(lst[:-span*2+1], 1)[0]
    first_return = [starting_first, starting_first+1, starting_first+2]
    second_start = random.sample(lst[lst.index(first_return[-1]):-span+1],1)[0]
    second_return = [second_start, second_start+1, second_start+2]
    return (first_return, second_return)
这可以采用升序的任何lst。不仅仅是[0-9]。如果您只需要[0,9]中的代码,我们也可以编写更简单的代码。一定要告诉我进展如何。

代码:

lst = list(range(0,10))
import random

span = 3
def get_random(lst, span):
    starting_first = random.sample(lst[:-span*2+1], 1)[0]
    first_return = [starting_first, starting_first+1, starting_first+2]
    second_start = random.sample(lst[lst.index(first_return[-1]):-span+1],1)[0]
    second_return = [second_start, second_start+1, second_start+2]
    return (first_return, second_return)

这可以采用升序的任何lst。不仅仅是[0-9]。如果您只需要[0,9]中的代码,我们也可以编写更简单的代码。一定要让我知道情况。

你不需要重复吗?就一次。我想交换身份证。所以我需要决定选择哪两个区块进行交换。明白了,然后从我下面给出的答案中选择不带替换代码的区块。希望它能帮助@zujhyt你不需要重复吗?就一次。我想交换身份证。所以我需要决定选择哪两个区块进行交换。明白了,然后从我下面给出的答案中选择不带替换代码的区块。希望对@zuujhytHi有所帮助,谢谢你的代码。但在我的情况下,我认为更简单。向量中的ID需要是连续的。哦,好的,明白了,我们将更新代码以满足您的需要。@zuujhyt刚刚编辑了答案,请检查。嗨,谢谢您的代码。但在我的情况下,我认为更简单。向量中的ID必须是连续的。哦,好的,明白了,我们将更新代码以满足您的需要。@zuujhyt刚刚编辑了答案,请检查。