如何根据另一个列表修改一个列表的元素

How to modify the elements of one list based on another

我有两个列表,例如

lst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = ['q', 'r', 's']

现在,假设我生成一个从 list2 到 list1 的映射,例如 (4, 0, 3) 意味着用 list2 的第 0 个元素更新 list1 的第 4 个元素,用 的第 1 个元素更新 list1 的第 0 个元素list2 等,结果列表看起来像

lst1 = ['r', 'b', 'c', 's', 'q']

我该怎么做?

一种方法是使用 enumerate:

lst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = ['q', 'r', 's']
mapping = [4, 0, 3]

for lst2_n, lst1_n in enumerate(mapping):
    lst1[lst1_n] = lst2[lst2_n]