当我们将0转换为'abc',1转换为'f'和2转换为'z'时,如何将列表[0,1,2,1]
转换为字符串列表?因此输出列表将为['abc','f','z','f']
。
我做了:
x = []
for i in xrange(input):
if input[i] == ...
x.append ('abc')
答案 0 :(得分:5)
使用字典作为翻译表:
old_l = [0, 1, 2, 1]
trans = {0: 'abc', 1: 'f', 2: 'z'}
然后,翻译你的清单:
new_l = [trans[v] for v in old_l]
答案 1 :(得分:1)
作为dict的替代方案,如果您可以保证数字是连续的,您可以使用列表和索引:
subs = ['abc','f','z']
original = [0, 1, 2, 1]
result = [subs[x] for x in original]
与dict相同,但输入的次数要少一些?