1

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

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

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

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

什么是有效的方法?

4

1 回答 1

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]
于 2012-12-19T21:03:26.277 回答