I have two lists like this,
a=[['a', 'b', 'c'], ['b', 'c'], ['a', 'd'], ['x']]
b=[[1, 2, 3], [4,5], [6,7], [8]] (the size of a and b is always same)
Now I want to create two list with the sum of unique elements, so the final lists should look like,
a=['a', 'b', 'c', 'd', 'x']
b=[7, 6, 8, 7, 8] (sum of all a, b, d, d and x)
I could do this using for loop but looking for some efficient way to reduce execution time.

forloops with a temporary dictionary is asymptotically optimal; anything else can only be more efficient by a constant factor, and most likely will be less efficient. I suggest write it withforloops, and then if your program is not fast enough, profile it to see where the bottleneck actually is. Any significantly faster implementation will likely need to use vectorization (e.g. numpy).