参考代码

  1. def ListChange(list2change, dict2change):
  2. listchanged=[dict2change[i] if i in dict2change else i for i in list2change]
  3. return listchanged
  4. list2change=['黑色','红色','白色','黑色']
  5. dict2change={'黑色':'黄色','红色':'白色'}
  6. listchanged = ListChange(list2change, dict2change)

REF

把列表中的元素直接更改、替换。
(直接替换、判断替换、替换批量的元素、替换多个元素)
例子:表面列表aaa中的元素‘黑色’替换成‘黄色’。
aaa=[‘黑色’,’红色’,’白色’,’黑色’]

第一种方法(不建议):

  1. aaa=['黑色','红色','白色','黑色']
  2. aaa=str(aaa)
  3. bbb=aaa.replace("黑色","黄色")
  4. bbb
  5. 结果:
  6. "['黄色', '红色', '白色', '黄色']"

第二种方法:

  1. aaa=['黑色','红色','白色','黑色']
  2. bbb=['黄色' if i =='黑色' else i for i in aaa]
  3. bbb
  4. 结果:
  5. ['黄色', '红色', '白色', '黄色']

第三种方法:(替换批量的元素)

  1. aaa=['黑色','红色','白色','黑色']
  2. ccc=['黑色','红色']
  3. bbb=['黄色' if i in ccc else i for i in aaa]
  4. bbb
  5. 结果:
  6. ['黄色', '黄色', '白色', '黄色']

第四种方法:(替换多个元素)

  1. list2change=['黑色','红色','白色','黑色']
  2. dict2change={'黑色':'黄色','红色':'白色'}
  3. listchanged=[dict2change[i] if i in dict2change else i for i in list2change]
  4. listchanged
  5. 结果:
  6. ['黄色', '白色', '白色', '黄色']
  7. origin:
  8. aaa=['黑色','红色','白色','黑色']
  9. ccc={'黑色':'黄色','红色':'白色'}
  10. bbb=[ccc[i] if i in ccc else i for i in aaa]
  11. bbb
  12. 结果:
  13. ['黄色', '白色', '白色', '黄色']

https://blog.csdn.net/weixin_42342968/article/details/84105061