python - .split(" ") 与 .split() 之间有区别吗
问题描述
与python中的.split(' ')
vs有根本区别吗?.split()
我相信.split()
默认值是空格,所以两者应该相同,但我在hackerrank 上得到不同的结果。
解决方案
根据文档(对于 Python 3.8,我强调):
如果
sep
未指定或 isNone
,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。
所以,不,它们不是一回事。例如(请注意,开头和结尾的and和一个之间有两个空格):A
B
>>> s = " A B "
>>> s.split()
['A', 'B']
>>> s.split(" ")
['', 'A', '', 'B', '']
此外,连续的空白意味着任何空白字符,而不仅仅是空格:
>>> s = " A\t \t\n\rB "
>>> s.split()
['A', 'B']
>>> s.split(" ")
['', 'A\t', '', '\t\n\rB', '']
推荐阅读
- angular - 如何根据条件在我的单选组内禁用有角度的单选按钮
- pandas - 在熊猫数据框中的某些条件下对值进行分类
- javascript - 不等于运算符 ($ne) 的 Mongoose 聚合
- asp.net-core - 如何通过 Postman 呼叫 SignalR Hub?
- mongoose - NestJS + CASL + Mongoose:CASL 无法从 Mongoose Schema 推断主题类型
- python - 为什么不允许增加赋值表达式?
- django - 有没有一种方法可以将标头仅作为 Django ImportExportModelAdmin 中的文件下载
- integration - GitBook 在更新 Gitlab 之前是否创建了合并请求?
- r - 如何准备好数据框以使用 vegan 包?
- amazon-web-services - 无法在仅使用默认端点的无服务中激活 CORS