Edited at

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

More than 1 year has passed since last update.

一対比較法を用いたデザインの比較実験の過程で作りました。

順序効果を打ち消すために、実験対象(デザイン)の組み合わせをランダム提示するコードです。


ソースコード


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]]

後輩からの急ぎの注文で、下調べせずサクッと書いたコードです。

もしかしたら、もっと上手い書き方や便利なライブラリがあるかも。