我有一个 Prolog
列表
[['A1', 'I'], ['A1', 'EU'], ['A2', 'EU']]
我想把它变成这样的字典
{'EU':['A1','A2'], 'I':['A1']}
如何创建 prolog 字典(我正在使用 swipl)
如何访问键和值
如何添加/删除条款?
最佳答案
library( pairs ) 为您的问题提供现成的解决方案。大多数代码只需要适应问题中使用的格式:
?- [library(pairs)].
true.
?- L=[['A1', 'I'], ['A1', 'EU'], ['A2', 'EU']]
| , findall(B-A,member([A,B],L),Ps),group_pairs_by_key(Ps,G).
L = [['A1', 'I'], ['A1', 'EU'], ['A2', 'EU']],
Ps = ['I'-'A1', 'EU'-'A1', 'EU'-'A2'],
G = ['I'-['A1'], 'EU'-['A1', 'A2']].
关于prolog - 如何处理 Prolog 中的关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241805/