【发布时间】:2013-09-28 03:08:53
【问题描述】:
我正在尝试从我从 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 个基因的所有可能组合。
【问题讨论】:
-
这正是您使用
for key in genes_dict所做的。删除该行,您就可以开始了! -
你确定你需要那个
for key in genes_dict: ...?它将遍历字典的每个键。这可能就是为什么您会觉得它为您提供了 100 种基因的所有可能组合。
标签: python csv random dictionary