我有很多線路的txt文件這樣得到價值蟒蛇關鍵
369136986 cms_trk_dcs_05:CAEN/CMS_TRACKER_SY1527_8/branchController05/easyCrate1/easyBoard03/channel002
兩列,其中第一有編號,第二列由/
分離特性的線路,都列由空間隔開。
我沒有字典的字典,其中KEY1是
出現在線路(369136986
)的第一數量,該鍵具有作爲值的其他字典,其中鍵是cmstrk
,trackersy
,branch
,crate
, board
,channel
和每個鍵的鍵都有一個值cms_trk_dcs_05:CAEN
,CMS_TRACKER_SY1527_8
,branchController05
,easyCrate1
,easyBoard03
,channel002
分別,所以如果你問cmstrk
(密鑰)的369136986
(密鑰1)它返回cms_trk_dcs_05
(值)。
如何通過賦值來獲得密鑰?我的意思是,如果我給的值CMS_TRACKER_SY1527_8
我需要知道哪個key1對應的(程序應該返回369136986
)。
這是我的嘗試:
input3=raw_input("Write the property(s) which modules connected you want to know, separated by a single space \n > ")
input_list3=input3.split(' ')
for k in input_list3:
print "%r" % k
txt.write("\t\n The modules with property %r are:\n" % k)
for l,m in zip(HVInfoDict.keys(),HVInfoDict.values()):
if k == HVInfoDict[l][m]:
print l
但它返回
TypeError: unhashable type: 'dict'
所以我怎麼能拿到第一的關鍵?
是否更改爲'如果k在m.values()if語句:'得到你想要的是什麼? –
你可以把輸入字典的例子更容易剪切粘貼嗎?這裏的問題是'm'有時候是一個字典,不能作爲另一個字典的關鍵字。 – jonrsharpe
你也可以用'HVInfoDict.items()'替換'zip(HVInfoDict.keys(),HVInfoDict.values())',因爲它會返回相同的元組列表。 –