使用可选的delimi连接string和None/string

2024-05-16 03:13:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我基本上在寻找与此VB/VBA字符串操作等效的Python:

FullName = LastName & ", " + FirstName

在VB/VB a中,+&都是串联运算符,但它们处理空值的方式不同:

"Some string" + Null ==> Null
"Some string" & Null ==> "Some string"

这个隐藏特性允许我编写的第一行代码在所需的LastName和可选的FirstName值之间包含逗号和空格。如果FirstName为空(Null是Python的None的VB/VBA等效值),那么FullName将被设置为LastName,并且没有尾随逗号。

在Python中,有一种习惯的方法来实现这一点吗?

技术说明 gnibbler和eumiro的答案并不完全等同于VB/VBA的+&。使用它们的方法,如果FirstName是一个空字符串(“”)而不是None,则不会有后面的逗号。在几乎所有的情况下,这都比VB/VB a的结果要好,VB/VBA的结果是添加带有空白名字的尾随逗号。


Tags: 方法字符串nonestring方式运算符somefirstname
2条回答

以下行可用于连接更多非无元素:

FullName = ', '.join(filter(None, (LastName, FirstName)))
FullName = LastName + (", " + FirstName if FirstName else "")

相关问题 更多 >