Python中split()与rsplit()的区别:为何无参数时结果相同?
split() 和 rsplit() 的区别
当不指定maxsplit参数时,split()和rsplit()的行为完全一致,都会把整个字符串按分隔符全部分割开——这就是你运行代码后得到相同结果的原因。
两者的核心差异仅在指定maxsplit参数时体现:
split(sep, maxsplit):从字符串左侧开始分割,最多执行maxsplit次分割,剩余未分割的部分作为列表的最后一个元素。rsplit(sep, maxsplit):从字符串右侧开始分割,最多执行maxsplit次分割,剩余未分割的部分作为列表的最后一个元素。
用代码示例直观展示:
test = "1--2--3--4--5" # split指定maxsplit=2,从左往右分割2次 print(test.split("--", 2)) # 输出结果: ['1', '2', '3--4--5'] # rsplit指定maxsplit=2,从右往左分割2次 print(test.rsplit("--", 2)) # 输出结果: ['1--2--3', '4', '5']
简单总结:无分割次数限制时,两者功能完全相同;只有当你需要限制分割次数,并控制分割方向时,才会体现出两者的差异。
内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito
相关产品推荐
相关产品推荐

