python - Python:对象切片是否有海象运算符?
问题描述
我的问题是,在所有海象示例中,它们使用整个对象作为布尔值,例如
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')
仅当它们存在时才会在末尾删除所有换行符。
当然,这不适用于更复杂的切片,但如果是这种情况,将变量定义保留在不同的行上可能更易读。
推荐阅读
- reactjs - 使用 multer 上传文件后,如何将其发送回前端?
- python - Django为没有类/模型的视图添加下拉过滤器
- node-red - 如何在 Node-RED 中合并来自多个有效负载的数据?
- java - Java 错误:不兼容的类型:Object[] 无法转换为 Student[]
- java - Mapstruct 映射子类和父类作为源
- python - socketIO-client 连接到服务器时抛出错误
- google-chrome-extension - 为什么 http 未定义 chrome.runtime 但 https 可以正常工作
- swift - Observable
If else in RxSwift - c# - 检测两个字符串之间的差异
- c# - 如何在 c# 中使用 open cv 检测目标上的弹孔