python - .split() 是如何工作的?- Python
问题描述
在以下示例中,我用空格分隔空字符串。但是,在第一个示例中,我明确使用了空格,而在第二个示例中,我没有。我的理解是这样的,.split()
并且.split(' ')
是等价的。
为什么这两个示例给出不同的输出?
In [1]: "".split(' ')
Out[1]: ['']
In [2]: "".split()
Out[2]: []
解决方案
从python的文档-
如果 sep 未指定或为 None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。因此,使用 None 分隔符拆分空字符串或仅包含空格的字符串将返回 []。
Sep 是分隔符。它说的是,如果我们不传递任何东西来分割,空格被认为是分隔符,它将应用不同的算法来分割字符串并返回给我们 a[]
但是由于你传递了 sep,它不会应用这个算法
推荐阅读
- javascript - 使用异步 javascript 函数添加事件监听器
- c++ - 如何将数组中的单词更改为小写并按字母顺序对唯一单词进行排序
- reactjs - 如何为下面的 Header 组件编写一个简单的测试用例?我是新来的反应
- mongodb - mongodb复制无法添加辅助副本
- html - 在css的帮助下,我怎样才能只给一个div而不是整个身体一个靛蓝颜色?
- java - JHipster:在 Intellij 中调试的“未支持的源版本”
- javascript - 在页面加载时显示从控制器返回的 json 数据到 cshtml 页面
- swift - 如何在 forEach 循环中删除一个项目,每个项目都有一个 delete btn。我将 swiftUI 与核心数据一起使用
- node.js - Docker 节点未安装在 alpine 上
- clang-tidy - 如何在由`clang-tidy --export-fixes`生成的更改集上运行`clang-apply-replacements`?