2012-07-16 33 views
0

所以我有一个保存一组字母值,即在字典中的名称列表,例如:无论如何将列表转换为变量用作字典键?

['H', 'I', 'B'] 

,其中各个变量名是我使用的字典键,但我的问题是,HIB列表一起表示另一个变量,我希望在字典中将其定义为HIB的关键字。所以我的问题是,如何转换这个名单到一个变量,较好的是:

nodeName = 'HIB' 

这样我就可以使用然后分配在我的字典中的关键:

Tree[nodeName] = ... 

由于OBV。你不能在字典中调用列表。

谢谢!

+1

FYI创建时的模糊性,你不能在列表中使用列表作为键,但你可以使用一个元组。这可能有助于如果某些名称最终不只一个字母(例如,'['HQ','I','B']':'“HQIB”将不明确,但'('HQ',' )' – 2012-07-16 14:38:23

+0

@Sean你可以使用元组作为字典中的键 – jamylak 2012-07-16 14:39:25

+0

ahhh,我不知道字典可以使用元组,这是非常有用的,并且真正解决了我的问题,谢谢 – Sean 2012-07-16 14:43:08

回答

6
>>> ''.join(['H', 'I', 'B']) 
'HIB' 

,或者你可以将其转换为一个元组:

>>> tuple(['H', 'I', 'B']) 

或一般

>>> tuple(li) 
可以用来作为字典键

4
my_list = ['H', 'I', 'B'] 
"".join(my_list) 
>> 'HIB' 

更好的方法,如由他人建议是使用tuple

my_list = ['H', 'I', 'B'] 
tuple(my_list) 
>> ('H', 'I', 'B') 

这将解决试图决定'HIB'是否是从['H', 'I', 'B']['HI', 'B']