比较2个词典的值

时间:2014-08-01 22:24:16

标签: dictionary comparison

任何人都可以建议我如何比较2个词典的值。例如:

A = {'John': [(300, 5000), (700, 750), (10, 300)], 'Mary': [(12, 300), (5678, 9000), (200, 657), (800, 7894)]}
B = {‘Jim’:[(500,1000),(600,1500),(900,2000)], ‘Mary’:[(13,250), (1000,6000), (222,600)]}

我想比较2这样,如果'A和B字典之间存在'key'(在本例中为'Mary'),并且B字典的'values'中的第一个和第二个数字在A中的值(即(13,250)和(222,600)分别在(12,300)和(200,657)之间。因此返回结果为'Mary':[(13,250),(222,600)]

由于

1 个答案:

答案 0 :(得分:0)

好的,我做了我认为你想要的并检索了结果(13,250) (222,600)。所以看起来它正在发挥作用。我创建了三个类,一个是主类,另一个是Point类,另一个类填充了字典和比较。我不知道你是如何编写词典的。但我这样做了:

private Dictionary<String,Map<String,List<Point>>> first 
= new Hashtable<String,Map<String,List<Point>>>(); 

它是一个字典,它接收一个String和一个Map,它接受一个String和一个List,它接受一个Point Object。当我在那里看你的片段时;它只是尖叫点。所以我用x和y属性创建了一个小类。

接下来,应该制作一个方法来比较点的值,例如使用小于和大于:

然后在填写词典后的另一个方法中,然后检查字典并循环遍历字典的第二个列表的大小

int size =  second.get("B").get("Mary").size(); 
for(int i =0; i<size; i++){
//compare method that you just made
}

然后打印出结果

我的输出:玛丽:(13,250)(222,600)

如果您需要任何代码帮助,请回复。