将数字列表返回到字符串列表

时间:2014-01-29 20:49:21

标签: python string list

我想将一个数字列表返回给字符串列表:我有一个列表

copy=[[1,'a'],[55,'b'],[100,'c], [11,d],[66,f]]

如果我有一个列表code=[1,100,100,11,1,66,1] 结果列表必须类似于以下列表: ['a','c','c','d','a','f','a']然后将其返回到序列seq=['accdafa']

这意味着,我将列表代码中的每个元素与列表副本的元素进行比较。 例如,我从代码中获取元素1,并将其与副本列表的元素进行比较 code[0]=1

 if code[0]==copy[0][0]:
                seq.append(copy[0][1])
             else:
                 go to the next element of the list 'copy'

我尝试了代码:

for j in range(len(code)):

              if code[j]==copy[0][0]:
                seq.append(copy[0][1])

我收到以下错误:

IndexError: list index out of range

列表code

的其余元素也是如此

1 个答案:

答案 0 :(得分:5)

完美使用dict

copy = [[1, 'a'], [55, 'b'], [100, 'c'], [11, 'd'], [66, 'f']]
copy_as_dict = dict(copy)
code = [1, 100, 100, 11, 1, 66, 1]
seq = ''.join(copy_as_dict[i] for i in code)

每个列表项的第一个元素成为,第二个元素成为

迭代code,您从code的每个的dict中获取。通过空字符串将它们连接成一个输出'accdafa'