我有两个列表a和b,其长度与下面相同
a = [1,2,3,4,5]
b = [11,22,33,44,55]
我该如何使用random.choices选择a中的元素,以便也选择b中的确切对应项。
a和b的长度始终相同。并且a和b的两个元素都基于索引相关。因此,简而言之,我要尝试的是在a中随机选择一个元素,然后能够在b中选择相应的元素。一件事是元素可能会重复。
答案 0 :(得分:5)
更好的选择是将您的列表放在一个列表中:
a_b = list(zip(a, b))
然后从random.choice()
中选择。
如果失败,请使用random.randrange()
随机选择一个索引:
ridx = random.randrange(len(a))
aval, bval = a[ridx], b[ridx]
random.choice()
的实现使用与使用单个参数的randrange()
用于确定范围内的随机整数完全相同的代码路径来选择随机索引。