只是一个快速的 [英] Just a quick one

查看:63
本文介绍了只是一个快速的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




快一点。我正试图用这个来打电话给[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
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>



嗨本杰明,


谢谢,这很快!

如果结果是

''[(''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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆