==
сравнивает ссылки на объекты в Java и не является исключением для объектов String
.
Для сравнения фактического содержимого объектов (в том числе String
) необходимо использовать equals
.
Если сравнение двух объектов String
с использованием ==
оказывается true
, это связано с тем, что объекты String
были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String
. Не следует ожидать сравнения одного объекта String
, содержащего то же содержимое, что и другой объект String
, используя ==
для оценки как true
.
Поскольку вас не очень волнует порядок добавления элементов, вы можете просто использовать zip
в dict.values
для понимания списка:
d = {1:[1,2,3,4],2:[5,5,5,3],3:[5,6,7,8]}
print([sum(i) for i in zip(*d.values())])
Вывод:
[11, 13, 15, 15]
]