Python:翻译常量的最佳方式



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

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

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]

最新更新