背景: 我正在向现有类添加一个新函数,该类需要返回常量名称列表。
假设我在一个类中有许多常量
JOHN = 1
SMITH = 4
BEN = 8
...
我有web服务函数返回列表常量值,而不是返回[1,4,8]
我想返回更有意义的数据,例如['JOHN', 'SMITH', 'BEN']
有效的方法是什么?
答案 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]