I'd feel better if this was a list comprehension, not a loop that modifies the values in-place in the original list:

    values = [v[:04] for v in values]

Or maybe I'm misunderstanding the intention. This seems to directly modify the lists in the internal dictionary, so maybe it's intentional? In that case, I'd make it not return anything.