Em primeiro lugar, a lista é [1, 2, 3] e você fala sobre o dicionário {a:1, b:2, c:3} ou, em outras palavras, sobre o hash.
Existe um parâmetro configurável: hash_behaviour .
Por padrão, é replace , mas você pode defini-lo como merge para obter o comportamento desejado.