所以我有两个列表。一个里面有所有的类别,另一个只有需要审核的类别。
List_one = ('数学', '英语', '科学')
List_two = ('Maths:2', 'Science:4')
我想要一份完整的列表,如下所示:
List_three = ('数学:2', '英语', '科学:4')
任何帮助将不胜感激!
最佳答案
您可以通过创建中间 dict
来提高性能,以便在执行替换时执行恒定时间查找。
dict_two = {x.split(':')[0] : x for x in List_two}
out = [dict_two.get(x, x) for x in List_one]
print(out)
['Maths:2', 'English', 'Science:4']
使用dict.get
,可以在O(n)
时间复杂度内替换列表元素,同时避免KeyError
.
关于python - 列表中的组合更新和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113190/