在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))
就可以了