csv ファイルから作成した辞書から、キーと値のペアのランダムなセットを取得しようとしています。ディクショナリには、遺伝子名をディクショナリキー、数値(遺伝子発現などに関係する)のリストを値として、遺伝子に関する情報が含まれています。
# python 2.7.5
import csv
import random
genes_csv = csv.reader(open('genes.csv', 'rb'))
genes_dict = {}
for row in genes_csv:
genes_dict[row[0]] = row[1:]
length = raw_input('How many genes do you want? ')
for key in genes_dict:
random_list = random.sample(genes_dict.items(), int(length))
print random_list
問題は、(たとえば) 100 個の遺伝子のリストを取得しようとすると、辞書全体を反復処理して、100 個の遺伝子のすべての可能な組み合わせを返すように見えることです。