1

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

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]
4

1 回答 1

0

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

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

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

当然,这不适用于更复杂的切片,但如果是这种情况,将变量定义保留在不同的行上可能更易读。

于 2020-07-24T00:48:11.220 回答