如何在python中替换列表中的元素

时间:2018-03-07 22:09:19

标签: python list dictionary replace

我有两个list个变量:

a = ["a", "b"]
b = ["a (x)"]

我需要使用列表a中的元素查找并替换列表b中的所有元素,其中列表(b之前的元素的子串等于列表中的元素a。所以我需要得到这个:

a = ["a (x)", "b"]
b = ["a (x)"]

exlplain有点复杂,但我希望你明白。

这是我到目前为止所做的,但我不知道如何继续。

for bx in b:
    for ax in a:
        if ax == bx[:bx.find(" (")]:
            #I don't know what to do next

请问您有什么想法吗?

1 个答案:

答案 0 :(得分:4)

这是一种方式。首先创建一个字典映射,然后将其应用于列表解析。

a = ["a", "b"]
b = ["a (x)"]

b_dict = {v.split(' ')[0]: v for v in b}

a = [b_dict.get(i, i) for i in a]

# ['a (x)', 'b']