- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不知道我给出的标题是否很好地解释了我需要我的程序做什么。我将拥有以下形式的字典:
main_dictionary = {1: [ [a], [b], [c], ... ], 2: [ [a], [b], [c], ... ] , ... }
字典可以任意长,并且每个键可以有任意数量的选项。我需要该程序来测试该字典的每个排列。
sub_dictionary = {1: [a], 2: [a], ... }
test_program(sub_dictionary)
sub_dictionary = {1: [a], 2: [b], ... }
test_program(sub_dictionary)
最佳答案
这是使用itertools.product
的一种方法。结果是“子词典”列表。
为了简单起见,我使用了整数列表作为值,但这可以替换为您选择的值。
from itertools import product
d = {1: [3, 4, 5], 2: [6, 7, 8]}
values = list(zip(*sorted(d.items())))[1]
res = [dict(enumerate(x, 1)) for x in product(*values)]
如果您需要单独测试每个字典,请使用生成器表达式并迭代它:
for item in (dict(enumerate(x, 1)) for x in product(*values)):
...
如果您有字符串键:
res = [dict(zip(sorted(d), x)) for x in product(*values)]
结果:
[{1: 3, 2: 6},
{1: 3, 2: 7},
{1: 3, 2: 8},
{1: 4, 2: 6},
{1: 4, 2: 7},
{1: 4, 2: 8},
{1: 5, 2: 6},
{1: 5, 2: 7},
{1: 5, 2: 8}]
关于python - 生成较大字典的排列的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49525016/
我正在通过 PHP 将 .csv 中的两行插入到表中。 我还会跟踪任何错误,如果发生错误,我不会提交事务。插入表后,我检索结果行的 ID(全部在一个事务中提交),并且 csv 的第一行对应于第二个 I
一个应用程序托管一个具有三个接口(interface)的 Web 服务,用于三个单独且独立的操作,所有这些操作都在应用程序的不同组件中实现,彼此独立,例如在不同的包等中,所以他们对彼此了解不多,只共享
我希望在单击特定表格数据单元格时同时选中单选按钮和单选按钮单击事件。我已经使用以下方法实现了这一点: $(document).ready(function() { $("td").click(
JSFiddle:https://jsfiddle.net/oyp1zxaq/ 本质上,我只是想在较大的 div 中放置四个具有定义宽度的较小 div,但我希望它们在其中间隔开。 我想知道是否有一种方
我在一个布局中有两个 View 。我将分别称它们为 View A 和 View B。 ┌──────┐ │┌─┐┌─┐│ ││A││B││ │└─┘└─┘│ └──────┘ 父布局(包括View A
我是一名优秀的程序员,十分优秀!