» »

Python | array z dvema vrednostnima (int, str) in sort

Python | array z dvema vrednostnima (int, str) in sort

HotBurek ::

Dober večer.

Imam sledečo preprosto zagonetko.

V prazen array dodam sledeče podatke:

3|glava
1|noga
2|telo
2|troll

Naredim takole:

array = [];
array.extend(["3|glava"]);
...


Sedaj iščem rešitev, kjer bi lahko ta array z funkcijo .sort() sortiral izključno po številkih.

Številke se lahko podvajajo.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

PrimoZ_ ::

Podatke v array dodajaj kot tupple int in string.

seznam = [(4,"glava"),(1,"noga"),(2,"telo"),(3,"kurac")]
seznam_po_cifri = sorted(seznam, key=lambda tup: tup[0])
print(seznam_po_cifri)

Zgodovina sprememb…

  • spremenilo: PrimoZ_ ()

Zimonem ::

Khhh. Khmm. Primož od začetka.
Kaj tvoja tabela vsebuje?

PrimoZ_ je izjavil:

Podatke v array dodajaj kot tupple int in string.

seznam = [(4,"glava"),(1,"noga"),(2,"telo"),(3,"kurac")]
seznam_po_cifri = sorted(seznam, key=lambda tup: tup[0])
print(seznam_po_cifri)

Jenej prišepetavat. Ne loči tipov.

Zgodovina sprememb…

  • spremenilo: Zimonem ()

PrimoZ_ ::

Jaz sm mu napisal rešitev, ampak ne tako za domačo nalogo :)

Zimonem ::

Ma itak ustvarja nov CMS in ERP iz nule. No ja začetek je.

HotBurek ::

Hvala.

Matral me je extend.

extend([5, "test"]) ------- extend([(5, "test")])

Pač, dodatni oklepaji znotraj škatlastih oklepajev.


import operator;

results = [];

results.extend([(0, "a")]);
results.extend([(2, "b")]);
results.extend([(1, "c")]);
results.extend([(1, "d")]);

results_s = sorted(results, key=operator.itemgetter(0), reverse=True);

for rs in results_s:

    print(str(rs[0]) + " | " + str(rs[1]));




Zimonem, serč enđin je.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

techfreak :) ::

Mimogrede, podpicja se v Pythonu naceloma ne uporabljajo.

PrimoZ_ ::

Zakaj uporabljaš to "čudno" sintakso z extend ?

Lahko poenostaviš na
results.append((0, "a"))
oz.
results += (0, "a")

Zgodovina sprememb…

  • spremenilo: PrimoZ_ ()

garamond ::

Še droben popravek kode od PrimoZ:
results += [(0, "a")]
...
A parody of extremism is impossible to differentiate from sincere extremism.

HotBurek ::

Za podpičja in Python vem, kakšna je zgodba.

Kodo pišem v JavaScript, Python in SQL. V vseh uporabljam podpičje kot znak, kjer se zaključi ukaz.

.extend() pa uporabljam, ker dela in so rezultati na koncu pravi. :)
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

PrimoZ_ ::

HotBurek je izjavil:



.extend() pa uporabljam, ker dela in so rezultati na koncu pravi. :)


Pa veš kaka je razlika med append in extend ?
Tole zgleda, kot nekaj kar si ugotovil s poskušanjem pa ne veš zares kako in kaj.

HotBurek ::

extend dela tisto, kar sem potreboval.

https://stackoverflow.com/questions/252...
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

PrimoZ_ ::

HotBurek je izjavil:

extend dela tisto, kar sem potreboval.

https://stackoverflow.com/questions/252...


Za tvoj primer .extend() zagotovo ni optimalen, ker rabiš komplicirat sintakso z dodatnimi oglatimi oklepaji, da dosežeš željeni rezultat. Torej obstoječ seznam razširiš z seznamom, ki ima en sam element.

Bolj razumljivo/običajno je, da če imaš samo en element uporabiš .append(). Ker tuple, ki vsebuje dve vrednosti je pač en sam element.
Ampak po želji, če maš rad oklepaje svetujem Lisp.

BBB ::

HotBurek je izjavil:

.extend() pa uporabljam, ker dela in so rezultati na koncu pravi. :)

Poskušam si te predstavljati, kako šele voziš avto.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

(Java) Iskanje manjkajoči podatkov v tabeli

Oddelek: Programiranje
151052 (817) noraguta
»

Kako bi naredil program

Oddelek: Programiranje
221757 (1025) Spura
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10318053 (8801) black ice
»

Naloga iz Putka - UPM

Oddelek: Programiranje
242217 (1553) NejcSSD
»

Coursera naloga (python)

Oddelek: Programiranje
161967 (1595) jype

Več podobnih tem