vt2*_*253 2 python enums python-2.7
我不太清楚怎么说这个问题.所以这里.我有这个看起来很糟糕的代码. recommendation
只需要5个案例.
if avg_recommendation=='BUY':
recommendation=5
if avg_recommendation=='OVERWEIGHT':
recommendation=4
if avg_recommendation=='HOLD':
recommendation=3
if avg_recommendation=='UNDERWEIGHT':
recommendation=2
if avg_recommendation=='SELL':
recommendation=1
Run Code Online (Sandbox Code Playgroud)
我想把它变成pythonic.我该怎么做?我读过enum,看起来它可能是我的解决方案.但我愿意接受任何优雅的解决方案.我还在使用python2.7谢谢.
使用键,值的字典.其中key是传入状态,值是传出状态.这是一种高度Pythonic模式,你可能会一次又一次地重复使用.在许多情况下,您将需要在输入状态上进行调度,您应该将函数作为值放在dict中.
recs = {
'SELL': 1,
'UNDERWEIGHT': 2,
'HOLD': 3,
'OVERWEIGHT': 4,
'BUY': 5,
}
# this will fail correctly with a KeyError for non-expected states.
recommendation = recs[avg_recommendation]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1290 次 |
最近记录: |