C# 获取 IEnumerable>来自 Dictionary>;通过笛卡尔积
从这本字典中
var foo = new Dictionary<string, IEnumerable<object>>
{
{"key1", new object[] {1}},
{"key2", new[] {"one", "two"}},
{"key3", new[] {"three", "four"}}
}
我想得到这个 IEnumerable
IEnumerable<Dictionary<string, object>> bar = {
{{"key1", 1}, {"key2", "one"}, {"key3", "three"}},
{{"key1", 1}, {"key2", "one"}, {"key3", "four"}},
{{"key1", 1}, {"key2", "two"}, {"key3", "three"}},
{{"key1", 1}, {"key2", "two"}, {"key3", "four"}}
}
简单地说,我需要 C# 的 python itertools.product 函数的模拟 a 的笛卡尔积列表字典。
我已阅读生成所有可能的组合,但不知道我应该如何更改它并且我找不到关于带有字典(带键)结果的笛卡尔积的解决方案。
提前致谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
快速的解决方案是仅对字典值进行笛卡尔积,同时保留有关键的信息,然后重新创建字典:
Quick solution would be to do only cartesian product of dictionary values while preserving information about keys, and next recreate dictionaries: