将Python str.split()
与str.partition()
进行比较,我发现它们不仅具有不同的功能(split()
在每次出现分隔符时都会对整个字符串进行标记,而partition()
1}}只返回之前的所有内容以及第一个分隔符出现后的所有内容),但它们也有不同的返回类型。也就是说,str.split()
返回list
,str.partition()
返回tuple
。这很重要,因为list
是可变的,而tuple
则不可变。在API设计中,这个选择背后是否有任何故意的原因,或者它是否只是事物的方式。"我很好奇。
答案 0 :(得分:10)
这些方法之间的主要区别在于split()
返回可变数量的结果,partition()
返回固定数字。元组通常不用于返回可变数量项的API。
答案 1 :(得分:2)
@yole答案总结了partition()
返回元组的原因。但是有一个很好的方法可以“利用”这一事实。我在“使用Python自动化无聊的东西”中找到了以下示例。
before, sep, after = 'Hello, world!'.partition(' ')
print(before)