I have a dictionary. I want to calculate average of values for each key and print result so that the result shows key and associated average. The following code calculates mean
You were on the right track. You just needed a dictionary comprehension instead of a list comp.
_dict = {22: [1, 0, 0, 1], 23: [0, 1, 2, 1, 0], 24: [3, 3, 2, 1, 0]}
mean = {key : float(sum(values)) / len(values) for key, values in _dict.iteritems()}
print(mean) 
{22: 0.5, 23: 0.8, 24: 1.8}
Notes:
.iteritems is replaced with .items in python3dict as a variable name, it shadows the builtin class with the same name.Update for Python 3.4+
>>> from statistics import mean    # Python 3.4+
>>> d = {22: [1, 0, 0, 1], 23: [0, 1, 2, 1, 0], 24: [3, 3, 2, 1, 0]}
>>> {k:mean(v) for k,v in d.items()}
{22: 0.5, 23: 0.8, 24: 1.8}
>>>
                                                                        Don't use a list comprehension. Use a dictionary comprehension to calculate the average of each list. You can also from __future__ import division to avoid having to use float:
>>> from __future__ import division
>>> d = {22: [1, 0, 0, 1], 23: [0, 1, 2, 1, 0], 24: [3, 3, 2, 1, 0]}
>>> mean = {k: sum(v) / len(v) for k, v in d.iteritems()}
>>> mean
{22: 0.5, 23: 0.8, 24: 1.8}