use*_*351 13 python string split
我在python中有一个字符串.我想将它拆分maxsplit = 1为非常靠近字符串末尾的分隔符.
例如
a = "abcdefghijklmnopqrstuvwxyz,1".
a.split(",", 1)在性能方面会更好a.rsplit(",",1)吗?
iCo*_*dez 19
以下是timeit.timeit用于比较两种方法的速度的时间测试:
>>> from timeit import timeit
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".split(",", 1)')
1.6438178595324267
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".rsplit(",", 1)')
1.6466740884665505
>>>
如你所见,它们大致相当.  str.split是几分之一秒快,但这真的不重要.所以,你可以选择你想要的任何方法.
PS尽管如此,该str.split方法只需要输入一个字符.:)
我参加这个聚会迟到了,但是对于任何陷入困境的人来说,partition速度比split(x, 1):
>>> from timeit import timeit
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".split(",", 1)')
0.23717808723449707
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".rsplit(",", 1)')
0.20203804969787598
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".partition(",")')
0.11137795448303223
>>> timeit('"abcdefghijklmnopqrstuvwxyz,1".rpartition(",")')
0.10027790069580078
,如果您愿意,您可以轻松地放弃h, _, t = s.rpartition(',')。
小智 6
我认为split()和之间存在细微差别rsplit():例如:
str1 = "w,e,l,c,o,m,e"
print(str1.split(',',2))
str1 = "w,e,l,c,o,m,e"
print(str1.rsplit(',',2))
你看,split()如果你想在第一次出现时拆分字符串,rsplit()则使用它,如果你想在最后一次出现时拆分字符串,则使用它。
| 归档时间: | 
 | 
| 查看次数: | 25648 次 | 
| 最近记录: |