If your integers are positive, contiguous, and start at or close to 0, use a list. Otherwise, use a dictionary. If your target values are single characters, you can use a string instead of a list.
Lists (and strings) are more efficient at mapping a sequence (0, 1, 2, etc.), dictionaries are more efficient at mapping disparate numbers to values.
Mapping integers to single characters:
targets = "a8B2Vgj4l" # targets[3] -> 'B'
Mapping integers to multiple characters:
targets = ['foo', 'bar', 'baz', '42andahalf'] # targets[3] -> 'baz'
Mapping noncontiguous integers:
targets = {42: 'Life', 81: 'Monty Python'} # targets[82] -> 'Monty Python'