只是一个快速的 [英] Just a quick one
问题描述
快一点。我正试图用这个来打电话给[Bob'',''One''],但我保持
得到''unhashable''。我尝试了各种'''和[并且不能得到工作的东西
。任何优惠?
谢谢,
M
< code>
来自随机导入*
Name_Number = xrange(int(raw_input("选择姓名数量(1-20)?")))
州= [无,无]
nextName = {[''Bob'',''One'']:['' Rita'',''Sue''',\
''Rita'':[''Mary'',''Sue'',['''Bob'',''One '']],\
''苏':[''丽塔'',''玛丽',[''鲍勃''''''''], \\ / $
''玛丽':[''苏''''''丽塔'']}
Name_List = []
tmp =选择((['''鲍勃'',''一''',''丽塔'',''苏'',''玛丽'))
for name inNumber:
打印状态
而tmp状态为[0:2]:
tmp =选择(nextName [Name_List [-1]])
print tmp,",",
print
print" Name",x + 1,"是",tmp
Name_List.append(tmp)
州[x%2] = tmp
打印Name_List
< code>
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>
推荐答案
" M.克里福特" <无*** @ here.com>在消息中写道
news:cg ********** @ news6.svr.pol.co.uk ...
"M. Clift" <no***@here.com> wrote in message
news:cg**********@news6.svr.pol.co.uk...
>
快一点。我正试图用这个来打电话给[Bob'',''One''',但我保持''不可能''。我尝试了各种'''并且[并且不能得到工作的东西
。有什么优惠?
....
nextName = {[''Bob'',''One'']:[''Rita'',''苏'',\\'
''丽塔'':[''玛丽'','苏','''鲍勃'',''一''],\
''苏':[''丽塔'',''玛丽',[''鲍勃''''''''],\\ \\
''玛丽':['' Sue'',''Rita'']}
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?
....
nextName = {[''Bob'',''One'']:[''Rita'',''Sue''],\
''Rita'':[''Mary'',''Sue'',[''Bob'',''One'']],\
''Sue'':[''Rita'',''Mary'',[''Bob'',''One'']],\
''Mary'':[''Sue'',''Rita'']}
[''Bob'',''One'']是一个清单。
你不能使用列表作为字典键,因为它是不可用的。
试试(''Bob'',''一个''),这是一个元组,而不是。
见
http://www.python.org/doc/current/tu...00000000000000
( 5.4)中的第一段。
-
我实际上还没看过我的hotmail accou nt,但如果你真的想联系我,你可以用
来代替hotmail。
[''Bob'', ''One''] is a list.
You can''t use a list as a dictionary key, because it is ''unhashable''.
Try (''Bob'', ''One''), which is a tuple, instead.
See
http://www.python.org/doc/current/tu...00000000000000
(the first paragraph in 5.4).
--
I don''t actually read my hotmail account, but you can replace hotmail with
excite if you really want to reach me.
列表不能用作字典键(因为列表)是可变的,他们
没有不变的哈希值 - >不可用),改为使用元组:
nextName = {(''Bob'',''One''):[''Rita'',''Sue'', \\'
''丽塔'':[''玛丽'','苏'',[''鲍勃''''''''],\
''苏':[''丽塔'',''玛丽',[''鲍勃''''''''],\
'' Mary'':['''S'','''Rita'']}
M. Clift写道:
lists cannot be used as dictionary keys (because lists are mutable, they
have no invariant hash value -> unhashable), use tuples instead:
nextName = {(''Bob'',''One''):[''Rita'',''Sue''],\
''Rita'':[''Mary'',''Sue'',[''Bob'',''One'']],\
''Sue'':[''Rita'',''Mary'',[''Bob'',''One'']],\
''Mary'':[''Sue'',''Rita'']}
M. Clift wrote:
快一点。我正试图用这个来打电话给[Bob'',''One''',但我保持''不可能''。我尝试了各种'''并且[并且不能得到工作的东西
。任何优惠?
感谢,
< code>
随机导入*
Name_Number = xrange(int(raw_input("选择姓名数量(1-20)?)")))
state = [无,无]
nextName = {[''Bob'',''One'']:[''Rita'',''Sue''],\
''Rita'':[''Mary' ',''苏'',[''鲍勃'',''一''],'\\',''苏'':[''丽塔'',''玛丽'',[' 'Bob'',''One''],'\\'
''Mary'':[''S'','''Rita'']}
Name_List = [ ]
tmp = choice((['''鲍勃'',''一''',''丽塔'',''苏'',''玛丽'))>
对于Name_Number中的x:
打印状态
而tmp处于状态[0:2]:
tmp = choice(nextName [Name_List [-1]])
print tmp,",",
print" Name",x + 1,"是',tmp
Name_List.append(tmp)
州[x%2] = tmp
打印Name_List
< code>
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 "Name ",x+1," is ", tmp
Name_List.append(tmp)
state[x%2] = tmp
print Name_List
<code>
嗨本杰明,
谢谢,这很快!
>
如果结果是
''[(''Bob'',One''),('''Mary'','我将如何打印''Bob'' '垃圾邮件'')] ?打印Name_List [0]显然给了
(''Bob'',''One'')
M
Hi Benjamin,
Thanks, that was quick!
How would I print just ''Bob'' if the result was
''[(''Bob'',One''),(''Mary'',''Spam'')] ? As print Name_List[0] obviously gives
(''Bob'',''One'')
M
这篇关于只是一个快速的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!