Just a quick one
Jaco Smuts
JSmuts at clover.co.za
Wed Aug 25 09:15:58 EDT 2004
Hello M
>From the python tutorial:
"Another useful data type built into Python is the dictionary.
Dictionaries are sometimes found in other languages as ``associative
memories'' or ``associative arrays''. Unlike sequences, which are indexed
by a range of numbers, dictionaries are indexed by keys, which can be any
immutable type; strings and numbers can always be keys. Tuples can be used
as keys if they contain only strings, numbers, or tuples; if a tuple
contains any mutable object either directly or indirectly, it cannot be
used as a key. You can't use lists as keys, since lists can be modified in
place using their append() and extend() methods, as well as slice and
indexed assignments. "
I understand this to mean that your code will not work becuase you are
using a list (mutable) as a key
sounds as though it will work if you change
['Bob','One']
to
('Bob', 'One')
I have not tested it, but I suspect that will work
jaco
"M. Clift" <noone at here.com>
Sent by: python-list-bounces+jsmuts=clover.co.za at python.org
08/25/2004 03:06 PM
To: python-list at python.org
cc:
Subject: Just a quick one
Hi,
Just a quick one. I'm trying to call [Bob','One'] with this, but I keep
getting 'unhashable'. I've tried various ' " and [ and can't get the thing
to work. Any offers?
Thanks,
M
<code>
from random import *
Name_Number = xrange(int(raw_input("Choose number of Names (1-20)? ")))
state = [None,None]
nextName = {['Bob','One']:['Rita','Sue'],\
'Rita':['Mary','Sue',['Bob','One']],\
'Sue':['Rita','Mary',['Bob','One']],\
'Mary':['Sue','Rita']}
Name_List = []
tmp = choice((['Bob','One'],'Rita','Sue','Mary'))
for x in Name_Number:
print state
while tmp in state[0:2]:
tmp = choice(nextName[Name_List[-1]])
print tmp, ", ",
print
print "Name ",x+1," is ", tmp
Name_List.append(tmp)
state[x%2] = tmp
print Name_List
<code>
--
http://mail.python.org/mailman/listinfo/python-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20040825/168613fa/attachment.html>
More information about the Python-list
mailing list