The general idea of using a dict is good, but the best specific implementation is probably something like:
def pick_one(prompt, **kwds):
while True:
x = raw_input(prompt)
if x in kwds:
return kwds[x]
else:
print 'Please choose one of: ',
for k in sorted(kwds): print k,
print
To be used, e.g., as:
print pick_one('which list would you like me to print?',
list1 = ['cat', 'dog', 'juice']
list2 = ['skunk', 'bats', 'pogo stick'])
The point is that, when you're asking the user to select one among a limited number of possibilities, you'll always want to check that the choice was one of them (it is after all easy to mis-spell, etc), and, if not, prompt accurately (giving the list of available choices) and give the user another chance.
All sorts of refinements (have a maximum number of attempts, for example, after which you decide the user just can't type and pick one at random;-) are left as (not too hard but not too interesting either;-) exercises for the reader.