Python - 多个替换项目列表中的组合

时间:2017-03-11 07:40:19

标签: python

我有一个标签列表:

list1 = ['tag1', tag2', 'tag3', 'tag4', 'tag5']

和包含替换组合的字典,如:

replace_dict = {'tag2':'tag1', 'tag4':'tag3'}

我需要用replace_dict中的值替换列表1中的每个项目(replace_dict中的键),因此list1将变为:

['tag1', 'tag1', 'tag3', 'tag3', 'tag5']

3 个答案:

答案 0 :(得分:3)

这个怎么样:

print [replace_dict.get(i,i) for i in list1 ]

输出:

['tag1', 'tag1', 'tag3', 'tag3', 'tag5']

答案 1 :(得分:2)

请尝试以下代码:

#!/usr/bin/env python

def replace(lst, dct):
    return map(lambda l: dct.get(l, l), lst)

if __name__ == '__main__':
    list1 = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
    replace_dict = {'tag2':'tag1', 'tag4':'tag3'}

    print(replace(list1, replace_dict))

答案 2 :(得分:-1)

另一种方法,

[ replace_dict[v] if v in replace_dict.keys() else v for v in l  ]