gpt4 book ai didi

python - str.split() 的拆分顺序是否有任何保证?

转载 作者:行者123 更新时间:2023-11-28 20:39:26 25 4
gpt4 key购买 nike

根据 the Python 2.7 docs ,使用 str.split() 并指定 maxsplit 会将字符串拆分为 maxsplit 次。

但是,它从未明确指定这些拆分将从左到右执行。有相关函数str.rsplit()保证从右到左拆分排序。

除了通过 str.rsplit() 进行字符串反转之外,还有什么方法可以保证从左到右的拆分顺序?是否存在 str.split() 不使用从左到右顺序的情况?

最佳答案

如果您正在寻找使用 maxsplit 参数从左到右拆分的保证,您只需要查看内置的 python test suite .

摘录如下:

    self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'split', '|')
self.checkequal(['a|b|c|d'], 'a|b|c|d', 'split', '|', 0)
self.checkequal(['a', 'b|c|d'], 'a|b|c|d', 'split', '|', 1)
self.checkequal(['a', 'b', 'c|d'], 'a|b|c|d', 'split', '|', 2)
self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'split', '|', 3)
self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'split', '|', 4)
self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'split', '|',
sys.maxsize-2)
self.checkequal(['a|b|c|d'], 'a|b|c|d', 'split', '|', 0)
self.checkequal(['a', '', 'b||c||d'], 'a||b||c||d', 'split', '|', 2)
self.checkequal(['abcd'], 'abcd', 'split', '|')
self.checkequal([''], '', 'split', '|')
self.checkequal(['endcase ', ''], 'endcase |', 'split', '|')
self.checkequal(['', ' startcase'], '| startcase', 'split', '|')
self.checkequal(['', 'bothcase', ''], '|bothcase|', 'split', '|')
self.checkequal(['a', '', 'b\x00c\x00d'], 'a\x00\x00b\x00c\x00d', 'split', '\x00', 2)

从测试中可以明显看出,任何执行不同操作的实现都无法通过这些测试。

关于python - str.split() 的拆分顺序是否有任何保证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com