Python

繰り返しを許さない組み合わせをランダムで出力

一対比較法を用いたデザインの比較実験の過程で作りました。
順序効果を打ち消すために、実験対象(デザイン)の組み合わせをランダム提示するコードです。

ソースコード

random_list.py
import random

#デザインパターンの数
design_num = 3

#デザインパターンの組み合わせリストを作成
numbers1 = numbers2 = range(1,design_num+1)
pair_list = [[m, n] for m in numbers1 for n in numbers2 if(m!=n)]

#ランダムで組み合わせを出力
print(random.sample(pair_list, design_num*(design_num-1)))

実行結果

[[3,2], [1,2], [3,1], [1,3], [2,3], [2,1]]

後輩からの急ぎの注文で、下調べせずサクッと書いたコードです。
もしかしたら、もっと上手い書き方や便利なライブラリがあるかも。