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

在Python字典中获取键/值对的所有组合

姚文轩
2023-03-14
问题内容

这可能是一个愚蠢的问题,但是考虑到以下指示:

combination_dict = {"one": [1, 2, 3], "two": [2, 3, 4], "three": [3, 4, 5]}

我将如何获得此列表:

result_list = [{"one": [1, 2, 3], "two": [2, 3, 4]}, {"one": [1, 2, 3], "three": [3, 4, 5]}, {"two": [2, 3, 4], "three": [3, 4, 5]}]

换句话说,我希望字典中两个键/值对的所有组合都不能替换,而与顺序无关。


问题答案:

一种解决方案是使用itertools.combinations()

result_list = map(dict, itertools.combinations(
    combination_dict.iteritems(), 2))

编辑 :由于受欢迎的需求,这里是Python 3.x版本:

result_list = list(map(dict, itertools.combinations(
    combination_dict.items(), 2)))


 类似资料:
  • 问题内容: 我有一个:键是字符串,值是整数。 例: 我想作为一个答案,因为它是具有更高价值的关键。 我使用带有反向键值元组的中间列表进行了以下操作: 那是一种更好(或更优雅)的方法吗? 问题答案: 您可以使用: 而不是在内存使用中构建新列表。该函数的参数是一个计算键的函数,该键用于确定如何对项目进行排名。 请注意,如果要使用另一个键值对,则此方法将仅返回两个值中的一个,即使它们都具有最大值。 如果

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

  • 问题内容: 我知道您可以使用setdefault(key,value)设置给定键的默认值,但是有没有办法在创建字典后将所有键的默认值设置为某个值? 换句话说,我希望字典为我尚未设置的每个键返回指定的默认值。 问题答案: 您可以将旧字典替换为: 这里的“技巧”是可以用另一个初始化a 。这意味着您可以保留常规值中的现有值:

  • 问题内容: 我有字典。 如何将的所有值提取到列表中? 问题答案: 如果你只需要字典的键,和使用:。 如果你只需要在字典中的值,和使用:。 如果您想同时使用键和值,请使用:返回一个元组列表。

  • 问题内容: 我想像这样从python字典输出键值对: 我以为我可以这样做: 但是很明显,这不是和不争论的方式。 问题答案: 您现有的代码只需进行一些调整。 是 关键,因此您只需要使用它: 您还可以获得包含键和值的迭代器。在Python 2中,返回(键,值)元组的列表,而返回提供相同值的迭代器: 在Python 3中,返回迭代器;要获得列表,您需要将迭代器传递给自己。

  • 我想从python字典中输出键值对,如下所示: 我想我可以这样做: 但是很明显,事情不是这样的,因为和不接受参数。