Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #37645
| References | <CAFqGZRGMXcku_nM_LqPsHpCzqGxF57LOSKwKwoCH+LyhPA8t_A@mail.gmail.com> <CAPTjJmpYi23Lx_4zuX28XURnAeaR-R=0w3e1mn6b0GBMs-O6Aw@mail.gmail.com> <51011822.3020702@tobix.eu> <CAPTjJmrqD7-x_sG_g-9YFFDanOct6_Grdw374EB69Kxy57LwLQ@mail.gmail.com> <CAHVvXxRCE02b=R5NgTNy0qcmts7YFCpVtXWM3cLizkRXwRDNog@mail.gmail.com> |
|---|---|
| Date | 2013-01-25 12:11 +1100 |
| Subject | Re: using split for a string : error |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1026.1359076304.2939.python-list@python.org> (permalink) |
On Fri, Jan 25, 2013 at 12:03 PM, Oscar Benjamin
<oscar.j.benjamin@gmail.com> wrote:
> On 24 January 2013 11:35, Chris Angelico <rosuav@gmail.com> wrote:
>>
>> It's usually fine to have int() complain about any non-numerics in the
>> string, but I must confess, I do sometimes yearn for atoi() semantics:
>> atoi("123asd") == 123, and atoi("qqq") == 0. I've not seen a
>> convenient Python function for doing that. Usually it involves
>> manually getting the digits off the front. All I want is to suppress
>> the error on finding a non-digit. Oh well.
>>
>
> I'm interested to know what the situations are where you want the
> behaviour of atoi().
It simplifies operations on strings that contain numbers. For
instance, here's a problem from yesterday. I have a set of files (MIDI
files of The Rose of Persia) which have been sloppily numbered:
Rose_1.mid
Rose_10.mid
Rose_11.mid
Rose_12.mid
Rose_13.mid
Rose_14.mid
Rose_15.mid
Rose_16.mid
Rose_17.mid
Rose_18.mid
Rose_19.mid
Rose_2.mid
Rose_20.mid
Rose_21.mid
Rose_22.mid
Rose_23.mid
Rose_24.mid
Rose_3.mid
Rose_4.mid
Rose_5.mid
Rose_6.mid
Rose_7.mid
Rose_8.mid
Rose_9.mid
Rose_Int.mid
They're not in order. The one marked "Int" is the Introduction and
should be first; then Rose_1 ... Rose_9, then Rose_10 ... Rose_24. In
fact, the correct sort order is exactly:
atoi(filename[5:])
Most of the time, it makes no difference. Python's int() will do
exactly what atoi() does. It's only in the unusual case where they
even differ.
ChrisA
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: using split for a string : error Chris Angelico <rosuav@gmail.com> - 2013-01-25 12:11 +1100
csiph-web