获取字典的随机子集
- 论坛
- 获取字典的随机子集
11 浏览
获取字典的随机子集
我有一个非常大的字典,我想提取一个子样本,然后对其进行迭代。我尝试了以下代码:
import random dictionary = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5} keys = random.sample(dictionary, 3) sample = dictionary[keys]
但是它不起作用:
Traceback (most recent call last): File "[..]/foobar.py", line 4, insample = dictionary[keys] TypeError: unhashable type: 'list'
这段代码可以工作:
import random dictionary = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5} keys = random.sample(dictionary, 3) sample = {key: dictionary[key] for key in keys}
这似乎有点啰嗦:我希望能有一种矢量化的方式来构建新的字典。然而,这是正确/最符合Python风格的方法吗?另外,如果我想在这个样本上进行迭代,我应该这样做:
for key, value in sample.iteritems(): print(key, value)