我想在Python中创建一个将整数与一系列符号相关联的查找表。 我想要使用的符号是小写字母[a-z]和数字[0-9]。
我的目标是用尽可能少的符号来表示大量数字。 我想知道在Python中执行此操作的最有效方法是什么?
答案 0 :(得分:2)
如果您的整数是正数,连续的,并且从0开始或接近0,请使用列表。否则,请使用字典。如果您的目标值是单个字符,则可以使用字符串而不是列表。
列表(和字符串)在映射序列(0,1,2等)方面效率更高,字典在将不同数字映射到值时效率更高。
将整数映射到单个字符:
targets = "a8B2Vgj4l" # targets[3] -> 'B'
将整数映射到多个字符:
targets = ['foo', 'bar', 'baz', '42andahalf'] # targets[3] -> 'baz'
映射非连续整数:
targets = {42: 'Life', 81: 'Monty Python'} # targets[82] -> 'Monty Python'