我想按照SilentGosht答案中的解釋在字典鍵上進行迭代。 但是,在一些字符串我得到錯誤。 我的環境是QGIS 2.14蟒蛇終端多鍵字典無法在某些字符串上工作
這裏是我的字典:
dictAliases = {
('ID_WS_INT','ID_WS'): 'B1',
('PGM_START','PGM_START_DATE','PGM_START_'): 'Debut programme'
}
這裏我的代碼,反覆字典:
next(v for k, v in dictAliases.items() if 'PGM_START_' in k)
它工作正常
,但如果把字典在一個單獨的文件中,並將其導入爲:
import sys
sys.path.append('C:\workspace\script')
import osirisdict
next(v for k, v in osirisdict.dictAliases.items() if 'ID_WS_int'in k)
我得到:
回溯(最近通話最後一個):文件 「」,1號線,在 的StopIteration
它僅適用於某些字符串作爲ID_WS_int到位ID_WS_INT的或PGM_START_到位PGM_START_DATE的
我不明白爲什麼進口變化的東西
這裏是進口的字典:
dictAliases = {
('ID_WS_INT','ID_WS'): 'B1',
('PGM_START','PGM_START_DATE','PGM_START_'): 'Debut programme',
('IMP_TYPE_F','IMP_TYPE_FR'): 'Type impetrant',
('PGM_START','PGM_START_DATE','PGM_START_'): 'Debut programme',
}
'if'ID_WS_int'in k' does not work because casing case matter。寫'if'ID_WS_INT'in k' –
順便說一句,使用原始字符串作爲windows路徑或者你會有驚喜:'sys.path.append(r'C:\ workspace \ script')' –
好的,謝謝你的建議 – jlSta