我有两个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
请问您有什么想法吗?
答案 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']