[python] (no subject)
David Necas (Yeti)
yeti na physics.muni.cz
Čtvrtek Únor 2 22:15:28 CET 2006
On Thu, Feb 02, 2006 at 09:35:54PM +0100, Petr Nesládek wrote:
> Važení mám dotaz
A což mu takhle dát nějaký subject (předmět)?
> asi je to poměrně kuriozní použití, ale v okrajových podmínkách použití funkce string. split() jsem narazilo na jeden paradox, který nevím, zda je náhodný produkt či omyl v pásmu nikoho
>
> pokud zavoláte string.split(s),
> s proměnnou s = ""
> vrátí vám seznam stringu rozděleného whitespaces tj.: [ ]
>
>
> pokud zavoláte to pro stejný - prázdný string totéž, ale s nastaveným delimiterem explicitně na
>
> pokud zavoláte string.split(s,"\") vrátí Vám - k vašemu ůžasu (mému teda rozhodně) nikoliv [ ], jak očekáváte - proč by se nic dělené čímkoliv mělo stát něčím... ale obdržíte [ '' ] - tj. seznam s jedním prázdým polem - nesetakli jste se někdo s vysvětlením - je to sice za hodně zvláštních podmínek, ale je to nesystematické chování....
split(s[, sep[, maxsplit]])
...
If the second argument sep is present and not None, it
specifies a string to be used as the word separator. The
returned list will then have one more item than the
^^^^^^^^^^^^^^^^^^^^^^
number of non-overlapping occurrences of the separator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
in the string.
V případě žádného výskytu to znamená, že výsledek má jeden
prvek. To jest, string.split(sep) se chová zcela konzistentně:
>>> 'bleble'.split('\\')
['bleble']
>>> ''.split('\\')
['']
('bleble' ani '' neobsahuje \, tudíž oba skončí
nerozděleny). Naproti tomu string.split() funguje spíš
stylem DWIM a zavádí výjimku pro prázdný řetezec.
Yeti
--
That's enough.
Další informace o konferenci Python