Python3下按顺序打乱两个列表

在python3下按顺序打乱两个列表

在机器学习里面需要将data的list和target的list按顺序打乱,看了其他博客里面,

data = [1, 2, 3]
target = [4, 5, 6]
data[:], target[:] = zip(*random.shuffle(zip(data, target)))

在python3下,会报错,说zip对象没有len()方法。原因是zip是一个generator,在shuffle函数中会用到len属性,解决方法是我们把zip转换为列表。

zip2list = [i for i in zip(data, target)]
data[:], target[:] = zip(*random.shuffle(zip2list))

就可以了

猜你喜欢

转载自blog.csdn.net/weixin_42744102/article/details/86624974