您通常使用
.get默认值
get(key[, default])如果key在字典中,则返回key的值,否则返回默认值。如果未提供default,则默认为None,因此此方法永远不会引发KeyError。
因此,当您使用
get循环时,将如下所示:
for item in newS: functionField = functionTable.get(item, "00") registerField = registerTable.get(item, "00") print(functionField + registerField)
打印:
100000000000
如果要显式检查键是否在字典中,则必须检查键是否在字典中(无索引!)。
例如:
if item in functionTable: # checks if "item" is a *key* in the dict "functionTable" functionField = functionTable[item] # store the *value* for the *key* "item"else: functionField = "00"
但是该
get方法使代码更短,更快,因此我实际上不会使用后一种方法。只是要指出为什么您的代码失败。



