Python中具有无序索引的多维数组

时间:2018-06-30 08:42:45

标签: python arrays dictionary unordered

我有n个成员{1,...,n}的有限集合的子集,每个子​​集的成员具有需要存储的对应值(取决于它们来自哪个子集)。

一个人可以将其视为一个2D数组,其中一个轴是子集,另一个轴是成员1,...,n。

要执行查找:

x是{1,...,n}的子集,y是{1,...,n}的元素

输入:(x,y)

输出:与(x,y)对应的值

在Python中,我想出了一个使用字典的实现。例如,“ A”是字典的字典。对于冻结集x(因为它必须是不可变的,所以冻结),A [x]是一个字典,其中的键= x的成员,值=(x,y)的数据。 A [x] [y] =为(x,y)存储的数据。

有人有更优雅的实现方式吗?还是有一种更传统的方法?

编辑: 示例:

# n = 2
A = dict()
A[frozenset({1})] = {1: f(frozenset({1}), 1)}
A[frozenset({2})] = {2: f(frozenset({2}), 2)}
A[frozenset({1, 2})] = {1: f(frozenset({1, 2}), 1), 2: f(frozenset({1, 2}), 2)}
A[frozenset({1, 2})][2] = f(frozenset({1, 2}), 2)

0 个答案:

没有答案