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')
仅当它们存在时才删除末尾的所有换行符。
当然,这不适用于更复杂的切片,但如果是这种情况,将变量定义放在不同的行上可能无论如何都更具可读性。
我的问题是,在所有海象示例中,它们都使用整个对象作为布尔值,例如
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')
仅当它们存在时才删除末尾的所有换行符。
当然,这不适用于更复杂的切片,但如果是这种情况,将变量定义放在不同的行上可能无论如何都更具可读性。