我想按照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