How to merge variables of type hash across different variable files in ansible?

First of all, list is [1, 2, 3] and you talk about dictionary {a:1, b:2, c:3} or in other words hash.

There is configurable parameter: hash_behaviour.

By default it is replace, but you can set it to merge to achieve desired behaviour.