If you are allowed to assume that there are no duplicates in the dict values, then you could invert the dict:
my_dict = {'A' : 250, 'B' : 270, 'C' : 240}
my_list = [270, 250, 240]
inverse_dict = dict([(val, key) for key, val in my_dict.items()])
output = [inverse_dict[key] for key in my_list]
If duplicate values are allowed, of course, the question would have to be re-specified to define the behavior in case of a duplicate, to the assumption of no duplicate values seems reasonable.
Of course, this goes very much against the grain of the dict
data structure, and one wonders why this data is coming to us as the wrong dict in the first place. A solution like this implies that some refactoring is required somewhere.