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