旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【Python】 二つのリストの対応関係を保ったままシャッフルする

リストx=[1,2,3,4]があったとして、このxと対応関係にあるリストy=[11,12,13,14]があったとします。xをシャッフルしたいのですが、この時yも対応関係を保ったままシャッフルしたいと考えています。例えばリストxがシャッフルによりx=[3,2,4,1]となった場合、yはy=[13,12,14,11]となって欲しい状況です。このやり方がStackOverflowに書かれていたのでメモします(python - Better way to shuffle two numpy arrays in unison - Stack Overflow)。

p = numpy.random.permutation(len(x))
x = x[p]
y = y[p]