python - 使用带有'splitlines()'的连续线边界
问题描述
我正在尝试在方法中使用连续的线边界splitlines()
。
grocery = 'Milk\nChicken\r\nBread\rButter'
print(grocery.splitlines())
执行上述代码时,我得到以下输出:
['Milk', 'Chicken', 'Bread', 'Butter']
但是,下面的代码给出了一个额外的空列表项:
grocery = 'Milk\nChicken\r\rBread\rButter'
print(grocery.splitlines())
输出:
['Milk', 'Chicken', '', 'Bread', 'Butter']
请帮助我理解为什么在第二种情况下我会得到一个额外的空列表项。
解决方案
在您的第二个示例中,第二个\r
被视为单独的行,当您执行此操作时会发生类似的事情:
>>> grocery = 'Milk\nChicken\n\nBread\rButter'
>>> grocery.splitlines()
['Milk', 'Chicken', '', 'Bread', 'Butter']
当您使用 的组合时\r\n
,它被视为换行符,因为终端会话中的换行符都需要回车换行符对。
推荐阅读
- android - 传递具有不可包裹成员变量的可包裹对象(属于第三方库的类)
- azure - 无法在我之前成功保存的 Azure Function App 中保存应用程序设置
- python - 两个数据帧上的列函数的高效熊猫操作
- awk - 你怎么知道哪些字符属于哪些字符类?
- weblogic12c - JNDI 名称 weblogic.management.server 在 WebLogic 12.2.1.3 中不可用
- scala - Scala反射:如何使用运行时反射访问包下的包和对象
- node.js - cookie 在 Postman 的节点控制台中显示,而不是在浏览器中显示
- encryption - 有什么方法可以加密 Google Apps 脚本代码?
- python - 如何(通常!)处理超出范围的输出像素目标
- xcode - Xcode 中存档构建中的代码设计错误,Watch Kit 扩展添加了包标识符问题