Python 存储字典级别不一致的键
代码的结构如下所示:Python 存储字典级别不一致的键,python,design-patterns,Python,Design Patterns,代码的结构如下所示: def foo(dicc, cases): if cases==1: return dicc['a'] if cases==2: return dicc['b']['c'] dicc不可更改。我想消除像开关一样使用案例。我考虑过在函数之外创建一个字典,比如info={1:'a',2:'b'},然后调用dicc[info[cases]],但它对案例2不起作用。这是否意味着我必须为每个案例创建一个类?处理此问题的常见做法是什么?
def foo(dicc, cases):
if cases==1:
return dicc['a']
if cases==2:
return dicc['b']['c']
dicc
不可更改。我想消除像开关一样使用案例
。我考虑过在函数之外创建一个字典,比如info={1:'a',2:'b'}
,然后调用dicc[info[cases]]
,但它对案例2不起作用。这是否意味着我必须为每个案例创建一个类?处理此问题的常见做法是什么?不确定这是否是您想要的,但您可以尝试一下
info=[['a'], ['b', 'c']]
def foo(dicc, cases):
result = dicc
for k in info[cases-1]:
result = result[k]
return result
应该把它移到