按此顺序组合2个哈希的最佳方法

我有2个哈希list1和list2。 密钥是用户ID。 这是一个例子

list1 = { '1' => [item1, item2], '2' => [item3] } list2 = { '1' => [item 4], '3' => [item 5] } 

我需要将2到1的列表结合起来..这样的事情……或任何更好的表示赞赏。 基本上,需要将每个用户的list1和list2项组合成一个数组,其中第一项给出list1项,第二项给我list2项。

 { '1' => [[item 1, item 2], [item 4], '2' => [[item 3],[]], '3' => [[],[item 5]] } 

我能够以老式的方式做到这一点,但想知道是否有最好的方法来做这个…想知道我是否可以最小化代码和处理。

这个输出怎么样?

 { '1' => [item 1, item 2, item 4], '2' => [item 3], '3' => [item 5] } 

你可以得到它

 ret = list1.merge(list2){ |key, old, new| old + new }