Python:翻译常量的最佳方法?

时间:2012-12-19 20:59:58

标签: python constants

背景: 我正在向现有类添加一个新函数,该类需要返回常量名称列表。

假设我在一个类中有许多常量

JOHN = 1
SMITH = 4
BEN = 8
...

我有web服务函数返回列表常量值,而不是返回[1,4,8]我想返回更有意义的数据,例如['JOHN', 'SMITH', 'BEN']

有效的方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以将map()与地图字典一起使用。

arg_map = {1 : 'JOHN', 4 : 'SMITH', 8 : 'BEN'}
translated_result = map(arg_map.get, result_list)

正如评论中所提到的,列表理解也适用于此。请注意,您可以通过用方框替换方括号来使其成为生成器。

arg_map = {1 : 'JOHN', 4 : 'SMITH', 8 : 'BEN'}
translated_result = [arg_map.get(val, '%s NOT MAPPED' % str(val)) for val in result_list]