Skip to main content
 首页 » 编程设计

params 中 param 的 python 语法

2025年05月04日11Terrylee

需要一些 Python 语法方面的帮助

伪代码

if param is not None in params, param replace('xx', 'x')

我走到这一步了:

param.replace('|', '/') for param in ("bar|one","bar|two") 

我的问题是如何在这行代码中添加一个 None 检查?

请您参考如下方法:

也许:

[ param.replace("|", "/") if param is not None else None for param in iterable ] 

或者如果我们稍微改变一下逻辑,可能会更清晰一点:

[ None if param is None else param.replace("|", "/") for param in iterable ] 

我更喜欢第二个版本,因为 if 打破了第一个版本中出现的 None else None 废话......

这与@Tim Pietzcker 的(初始)答案略有不同。他的(初始)答案将从输入可迭代对象中过滤出 None 值,而这个答案将传递它们。


这里我们使用python conditional expression (有时在其他语言中称为“三元运算符”)。语法是:

value_if_true if conditional_expression else value_if_false