Segjum sem svo að við höfum tvo lista sem innihalda tengda hluti í sömu röð, t.d. einn lista af nöfnum og annan af kennitölum þar sem báðir listar eru raðaðir eftir kennitölum. Hvernig röðum við þeim báðum útfrá gildum í öðrum?
Það getur verið hentugt að sameina tvo lista með zip fallinu í python.
zip(['c','d','a'],[1,2,3]) verður [('c',1),('d',2),('a',3)], semsagt listi af pörum úr báðum listunum.
Getum þvínæst raðað þessum lista með sort en hvað svo? Jú, með zip(*) getum við tekið listana aftur í sundur.
a = ['c','d','a']
b = [1,2,3]
t = zip(a,b)
t.sort()
a,b = zip(*t)
a -> ['a','c','d']
b -> [3,1,2]
og þá erum við búin að raða seinni listanum eftir þeim fyrri.
Stanslaust stuð.
Mig grunar þú sért að setja inn greinar eins og þessa og þessa til þess að plata fólk inn á síðuna þína til að lesa um Python.
zip heitir zip því það rennir saman tveimur listum, virkar eins og rennilás.
Hefurðu verið að nota itertools líka, Matti?
Örlítið. Reyndi að nota itertools.chain um daginn en það virkaði ekki eins og ég hélt það ætti að virka.
|
www.flickr.com
|