You can use zip for vertically operations like that. and map for evaluating sum function to all the elements in your list:
s="""11 9 5
6 6 8
4 6 4"""
print(list(map(sum, zip(*[map(int, i.strip().split()) for i in s.split("\n")]))))
# [21, 21, 17]
Explanation: to be honest one-linear codes are always hard to read and not maintainable :) let's break the code to these parts for better understanding:
list_with_string_numbers = [i.strip().split() for i in s.split("\n")]
# returns => [['11', '9', '5'], ['6', '6', '8'], ['4', '6', '4']]
map_all_str_elements_to_int = [map(int, i.strip().split()) for i in s.split("\n")]
# returns => [<map object at 0x7f991725f6a0>, <map object at 0x7f991725f730>, <map object at 0x7f9917b293a0>]
join_vertically = list(zip(*[map(int, i.strip().split()) for i in s.split("\n")]))
# returns [(11, 6, 4), (9, 6, 6), (5, 8, 4)]
and finally sum do the aggregation to all tuples in the list.
list(map(sum, zip(*[map(int, i.strip().split()) for i in s.split("\n")])))
# [21, 21, 17]