Python: 是否有一个对象切片的海象算子?

Python: Is there a Walrus Operator for slices of an object?

我的问题是,在所有海象示例中,它们都使用整个对象作为布尔值,例如

if (x := len(s)) > 5:
    print(x)

转换

x = len(s)
if x > 5:
    print(x)

如果 x 是一个字符串,有没有办法对 x 的切片执行此操作? 例如 x[-1] != ','

这是我要转换为海象运算符的代码

title = book.find(class_='title').get_text()
if title[-1:] == '\n':
    title = title[:-1]

如果这是一个说明一般问题的例子,我想不出在那种情况下加入海象运算符的方法。但是,在这种特殊情况下,您可以将其一行:

title = book.find(class_='title').get_text().rstrip('\n')

仅当它们存在时才删除末尾的所有换行符。

当然,这不适用于更复杂的切片,但如果是这种情况,将变量定义放在不同的行上可能无论如何都更具可读性。