Python - 列表括号内调用函数,如何实现?
我在找一个算法,想把列表里的某些内容替换成其他的东西。比如,把所有的'0'换成'X'。
我找到了一段代码,它能实现这个功能:
list = ['X' if coord == '0' else coord for coord in printready]
我想知道的是,这段代码为什么能工作(我明白代码的逻辑,但不明白编译器为什么能接受这个)。
我还在想怎么在里面加一个“elif”条件(为了举例,想把'1'换成'Y')。
这可能有很多文档说明,但我不知道这个东西叫什么。
2 个回答
4
我也在努力把一个“elif”条件放进去(为了说明问题,把‘1’换成‘Y’)。
如果你要替换多个变量,我建议用字典,而不是用“elif”。这样可以让你的代码更容易阅读,而且添加或删除替换也很简单。
d = {'0':'X', '1':'Y', '2':'Z'}
lst = [d[coord] if coord in d else coord for coord in printready]