我有一个数组,names
,包含12个名字。
我有另一个数组weights
,包含12个数字。
我想创建一个散列,其中键是名称,值是权重。
权重数字是预先确定的(例如,它们应该是200,150和180),但每次运行程序时都应将它们分配给随机名称。
例如,如果我使用数组names = ['homer', 'marge', 'maggie']
和weights = [265, 140, 10]
,我可以运行该程序并获取{homer: 140, marge: 265, maggie: 10}
,然后重新运行它并获取{homer: 10, marge: 140, maggie: 265}
。
这样做的明智之处是什么?
答案 0 :(得分:5)
另一个答案几乎得到了它,但它并没有首先对weights
数组进行洗牌,所以它总会返回相同的哈希值。
但是,这将按预期工作:
names.zip(weights.shuffle).to_h