Forum » Programiranje » Python | array z dvema vrednostnima (int, str) in sort
Python | array z dvema vrednostnima (int, str) in sort
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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:
Sedaj iščem rešitev, kjer bi lahko ta array z funkcijo .sort() sortiral izključno po številkih.
Številke se lahko podvajajo.
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
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
![](https://static.slo-tech.com/stili/bel_non_grata.png)
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_ ()
![](https://static.slo-tech.com/stili/bel_non_grata.png)
Zimonem ::
Khhh. Khmm. Primož od začetka.
Kaj tvoja tabela vsebuje?
Jenej prišepetavat. Ne loči tipov.
Kaj tvoja tabela vsebuje?
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 ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
HotBurek ::
Hvala.
Matral me je extend.
extend([5, "test"]) ------- extend([(5, "test")])
Pač, dodatni oklepaji znotraj škatlastih oklepajev.
Zimonem, serč enđin je.
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
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
![](https://static.slo-tech.com/stili/bel_non_grata.png)
PrimoZ_ ::
Zakaj uporabljaš to "čudno" sintakso z extend ?
Lahko poenostaviš na
Lahko poenostaviš na
results.append((0, "a")) oz. results += (0, "a")
Zgodovina sprememb…
- spremenilo: PrimoZ_ ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
garamond ::
Še droben popravek kode od PrimoZ:
results += [(0, "a")] ...
A parody of extremism is impossible to differentiate from sincere extremism.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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. :)
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
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
![](https://static.slo-tech.com/stili/bel_non_grata.png)
PrimoZ_ ::
![](https://static.slo-tech.com/stili/avatar_gray.gif)
HotBurek ::
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
![](https://static.slo-tech.com/stili/bel_non_grata.png)
PrimoZ_ ::
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.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
BBB ::
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | (Java) Iskanje manjkajoči podatkov v tabeliOddelek: Programiranje | 1075 (840) | noraguta |
» | Kako bi naredil programOddelek: Programiranje | 1780 (1048) | Spura |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18271 (9019) | black ice |
» | Naloga iz Putka - UPMOddelek: Programiranje | 2247 (1583) | NejcSSD |
» | Coursera naloga (python)Oddelek: Programiranje | 2020 (1648) | jype |