Python 如何用字典值替换列表中的值(键是要替换的列表的索引)?

Python 如何用字典值替换列表中的值(键是要替换的列表的索引)?,python,Python,我认为这应该是一项相对简单的任务,但我似乎无法理解 a = {1: 'the last bus', 2: 'you take', 4: 'train I try', 6: 'see its'} b = ['I miss', 'nan', 'nan', 'the next', 'nan', 'but you', 'nan', 'hard to explain'] 期望输出: ['I miss', 'the last bus', 'you take', 'the next', 'train I t

我认为这应该是一项相对简单的任务,但我似乎无法理解

a = {1: 'the last bus', 2: 'you take', 4: 'train I try', 6: 'see its'}
b = ['I miss', 'nan', 'nan', 'the next', 'nan', 'but you', 'nan', 'hard to explain']
期望输出:

['I miss', 'the last bus', 'you take', 'the next', 'train I try', 'but you', 'see its', 'hard to explain']

只需在
dict
上循环,并将
列表中的每个键重新指定为相关值:

for i, value in a.items():
    b[i] = value
这将在适当位置修改
b
;如果您希望它不被修改,最简单的解决方案是提前复制:

c = b[:]
for i, value in a.items():
    c[i] = value

我认为这应该能奏效

for i in range(len(b)):
    if i in a.keys(): b[i]= a[i]

到目前为止你试过什么?你写过代码吗?