其实经常会遇到这个问题,比如说:一个map存了今天的数据,一个map存了昨天数据,现在需要将两天数据对比/作差,等等,也就是想取两个map key的并集/交集,怎么做呢? 很简单,参见下面的代码,利用 map 的key 是排好序的,我咋就没想到呢:(
template <typename Key, typename Value>
std::map<Key,std::pair<Value,Value> >
merge_maps( std::map<Key,Value> const & lhs, std::map<Key,Value> const & rhs )
{
}
但是如果对hash 表怎么办呢?比如python里dict, dict里的key是无序的,
I guess 这是一种解决方案:
for k in (set(dict1) | set(dict2) ):