Dan*_*age 6 python random-sample
我有两个列表x和y,长度为n,x i和y i形成一对.如何在保留配对信息的同时从这两个列表中随机抽取m个值(例如x [10]和y [10]将在结果样本中一起)
我最初的想法是这样的.
代码看起来像这样.
templist = list()
for tup in zip(x, y):
templist.append(tup)
random.shuffle(templist)
x_sub = [a for a, b in templist[0:m]]
y_sub = [b for a, b in templist[0:m]]
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很狡猾.有什么方法可以让我更清晰,更简洁,还是Pythonic?
小智 9
也许你的意思是采样m个元素
x_sub, y_sub = zip(*random.sample(list(zip(x, y)), m))
Run Code Online (Sandbox Code Playgroud)