Idiom for "last word in a string"
__peter__ at web.de
Wed Sep 23 21:22:39 CEST 2009
> On Sep 23, 2:47 pm, Grant Edwards <inva... at invalid.invalid> wrote:
>> I recently ran across this construct for grabbing the last
>> (whitespace delimited) word in a string:
>> It was somewhat obvious from the context what it was supposed
>> to do, but it took a bit of Googling to figure out exactly what
>> was going on.
>> When I want the last word in a string, I've always done this:
>> I was wondering what the advantage of the rsplit(None,1)
>> approach would be other than inducing people to learn about the
>> maxsplit argument that is accepted by the split() methods?
>> Grant Edwards grante Yow! I want a
>> VEGETARIAN at BURRITO to go ... with
>> visi.com EXTRA MSG!!
> perhaps rsplit generates as many elements in the list as absolutely
> necesary compared to the whole list returned by split()?
Indeed, and if the string is long it has a measurable effect:
$ python -m timeit -s"s = 'oneword '*1000" "s.rsplit(None, 1)[-1]"
100000 loops, best of 3: 2.23 usec per loop
$ python -m timeit -s"s = 'oneword '*1000" "s.split()[-1]"
1000 loops, best of 3: 191 usec per loop
More information about the Python-list