当前位置: 首页 > 面试题库 >

随机Python字典键,按值加权

康恩
2023-03-14
问题内容

我有一本字典,其中每个键都有一个可变长度的列表,例如:

d = {
 'a': [1, 3, 2],
 'b': [6],
 'c': [0, 0]
}

是否有一种干净的方法来获取随机字典密钥,并对其值的长度进行加权?
random.choice(d.keys())会平均分配按键的权重,但在上述情况下,我希望'a'大约一半的时间返回。


问题答案:

这将工作:

random.choice([k for k in d for x in d[k]])


 类似资料:
  • 问题内容: 如何根据值对字典进行排序,以便输出为: 当前尝试(排序不正确): 问题答案: 您需要对字典值而不是键进行排序。您可以从字典中创建一个元组数组,按其值对它进行排序,如下所示: Xcode 9•Swift 4 或 Xcode 8•Swift 3 使用按键对字典进行排序 使用字典的键和本地化的比较来对字典进行排序:

  • 问题内容: 我有以下字典 我想获取字典列表中每个字典值“ KA20”和“ KA23”的键“ tmst”的总和。 您能对此提出建议吗? 问题答案: 您可以使用: 请注意,要正常工作,必须按分组键进行排序:

  • 问题内容: 创建密钥后,是否可以向Python字典添加密钥?它似乎没有方法。 问题答案:

  • 问题内容: 我有一组字典,我想通过每个字典中的“ itemName”键按字母顺序对它们进行排序。如何在Swift中执行此操作? 我想对itemsArray进行排序。 问题答案: 您可以使用的功能: 迅捷 > 3 不是很迅速,但您失去了类型安全性,但这确实起作用。 顺便说一句,您的代码中有很多强制转换,有可能导致应用程序崩溃,您应该考虑改用可选的转换。

  • 问题内容: 这将是一个很好的方式,从去到 我检查了一些帖子,但它们都使用了返回元组的”sorted” 运算符。 问题答案: 标准Python字典是无序的。即使你对(key,value)对进行了排序,也无法以保留顺序的方式存储它们。 最简单的方法是使用OrderedDict,它可以记住元素插入的顺序: 没关系od打印方式;它会按预期工作: Python 3 对于Python 3用户,需要使用.ite

  • 问题内容: 我是python的新手,我列出了每年的年份和值。我想做的就是检查字典中是否已经存在年份,如果存在,则将值附加到特定键的值列表中。 举例来说,我有一个年份列表,每年都有一个值: 我想做的是用年作为键填充那些字典,而那些数字作为值填充字典。但是,如果我两次列出了2009,那么我想将该第二个值附加到该词典中的值列表中,因此我想: 现在,我有以下内容: 问题答案: 如果我可以重新表述你的问题,