Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
sorted and groupby solution in Clear category for Convert and Aggregate by slchangtw
from itertools import groupby
def conv_aggr(data: list[tuple[str, int]]) -> dict[str, int]:
d = {}
data = sorted(data, key=lambda x: x[0])
for key, group in groupby(data, key=lambda x: x[0]):
sum_group = sum(value for _, value in group)
if (key != "") and (sum_group != 0):
d.update({key: sum_group})
return d
print("Example:")
print(conv_aggr([("a", 7), ("b", 8), ("a", 10)]))
assert conv_aggr([("a", 7), ("b", 8), ("a", 10)]) == {"a": 17, "b": 8}
assert conv_aggr([]) == {}
assert conv_aggr([("a", 5), ("a", -5)]) == {}
assert conv_aggr([("a", 5), ("a", 5), ("a", 0)]) == {"a": 10}
assert conv_aggr([("a", 5), ("", 15)]) == {"a": 5}
print("The mission is done! Click 'Check Solution' to earn rewards!")
Sept. 17, 2022
Comments: