代码之家  ›  专栏  ›  技术社区  ›  rawwar

python中带有种子的随机选择

  •  0
  • rawwar  · 技术社区  · 7 年前

    我有两张A和B表,长度如下

    a = [1,2,3,4,5]
    b = [11,22,33,44,55]
    

    如何使用random.choices在a中选择元素,以便在b中也选择完全对应的项。

    A和B的长度总是一样的。a和b的元素都是基于索引关联的。所以,简而言之,我要做的是随机选择a中的一个元素,然后在b中选择相应的元素。一件事是这些元素可能会重复。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Martijn Pieters    7 年前

    更好的选择是将您的列表放在一个列表中:

    a_b = list(zip(a, b))
    

    然后从中挑选 random.choice() 是的。

    否则,使用 random.randrange() 随机选取索引:

    ridx = random.randrange(len(a))
    aval, bval = a[ridx], b[ridx]
    

    实施 随机选择() 使用完全相同的代码路径来选择随机索引 randrange() 使用单个参数确定范围内的随机整数。