Выбор 1:
def f1(c):
d = {
"USA": "N.Y.",
"China": "Shanghai"
}
if c in d:
return d[c]
return "N/A"
Выбор 2:
def f2(c):
d = {
"USA": "N.Y.",
"China": "Shanghai"
}
try:
return d[c]
except:
return "N/A"
Так, чтобы я мог тогда звонить:
for c in ("China", "Japan"):
for f in (f1, f2):
print "%s => %s" % (c, f(c))
Варианты состоят в том, чтобы или определить, является ли ключ в справочнике перед рукой (f1), или просто отступление к исключению (f2). Какой предпочтен? Почему?