[ kazil @ 19.01.2009. 00:34 ] @
Poceo i ja malo da se bakcem sa Python-om, i sad se nesto zamajavam oko listi, pa da pitam za misljenje :)

Elem, ocu da odradim unicode() nad svim clanovima liste, zasad sam napisao tri razlicita resenja za to i zelim da vidim sta iskusniji kazu na ovo :)

Idem od, po mom misljenju, najlosijeg resenja, ka najboljem.

Prvo, uvodjenje jos jedne liste:
Code:

mylist = ['first', 'second', 'third']
unicodelist = []
for item in mylist:
    unicodelist.append(unicode(item))


Drugo, sa brojacem:
Code:

i = 0
while i < len(mylist):
    mylist[i] = unicode(mylist[i])
    i = i + 1


I trece, rad samo sa originalnom listom:
Code:

for item in mylist:
    mylist[mylist.index(item)] = unicode(item)


Misljenja? Neki drugi primeri?

Svako dobro :)

EDIT: Woops :) vec sam nasao gresku sa "najboljim" resenjem. Naime, ako ima dva ista elementa u listi, samo ce se nad jednim odraditi unicode(). Back to the drawing table :)

[Ovu poruku je menjao kazil dana 19.01.2009. u 01:44 GMT+1]
[ del-boy @ 19.01.2009. 00:58 ] @
Recimo ovako nešto:
Code:
mylist = [unicode(elem) for elem in mylist]


ili

Code:
mylist = map(unicode, mylist)


Lično, najpre bih upotrebio map, ali pretpostavljam da tu ima i programerskog stila :)
[ kazil @ 19.01.2009. 01:12 ] @
Ah, yes :)

Samo malo da detaljnije citam dokumentaciju :)

Hvala :)
[ momsab @ 19.01.2009. 01:23 ] @
Deliceva resenja su u duhu pythona :)
sto se dokumentacije tice, ak ose ne varam, ovakav sitl je dobro objasnjem u "Dive Into Python" http://diveintopython.org (verovatno ga iams na kompu, dolazi uz Python, barem je tako na Ubuntuu)
[ kazil @ 19.01.2009. 08:56 ] @
Takvo resenje me i interesovalo, da vidim sta zna Python :)
[ alex @ 19.01.2009. 15:47 ] @
Sve o listama (a i ostalim tipovima) je veoma dobro objasnjeno u Python dokumentaciji.