Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Zoradenie v pythone, veľmi špecifické!

Python Python Zoradenie v pythone, veľmi špecifické!

Aktivity (1)
Avatar
ra3sk
Člen
Avatar
ra3sk:18.10.2016 17:21

Ahojte, potrebujem zoradiť ľudí ktorí štartujú na pretekoch. Každý má prvú rýchlosť a potom meno. Vstup do programu je porade tak ako štartujú. Je nejaká funkcia ako ich zoradiť? Trať je dosť dlhá aby sa ich rýchlosť prejavila. Zatiaľ mám

p=int(input())
i=0
zoznam=list()
while(i<p):
    vstup=input()
    zoznam.append(vstup)
    i=i+1


for x in zoznam:
    print(x)

soms=sorted(zoznam)
soms.reverse()
print("\n")
for x in soms:
    print(x)
 
Odpovědět 18.10.2016 17:21
Avatar
Odpovídá na ra3sk
Vojtěch Přibáň:19.10.2016 23:38

pro seřazení podle hodnot existuje jednoduchá funkce sort().
například:

seznam = [6, 1, 4, 8, 9, 5, 3, 2, 7]
print (seznam) #[6, 1 ,4, 8, 9, 5, 3 ,2, 7]
seznam.sort()
print (seznam) #[1, 2, 3, 4, 5, 6, 7, 8, 9]

doufám že jsem pomohl.

Editováno 19.10.2016 23:39
 
Nahoru Odpovědět 19.10.2016 23:38
Avatar
gcx11
Redaktor
Avatar
Odpovídá na ra3sk
gcx11:20.10.2016 10:33

Asi chceš něco takového:

zoznam.sort(key=lambda entry: entry.split[0])
 
Nahoru Odpovědět 20.10.2016 10:33
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Vojtěch Přibáň
gcx11:20.10.2016 10:34

sort() je metoda seznamu, ne funkce.

 
Nahoru Odpovědět 20.10.2016 10:34
Avatar
ra3sk
Člen
Avatar
Odpovídá na gcx11
ra3sk:20.10.2016 20:05

Ano niečo podobné

 
Nahoru Odpovědět 20.10.2016 20:05
Avatar
Elisse
Člen
Avatar
Odpovídá na ra3sk
Elisse:21.10.2016 9:30

Vzhledem k tomu, že naznačuješ že každá hodnota má jméno a rychlost doporučil bych ti použít na místo listu dictionary, vypadá ve smyslu:

dict = {'Erik': 50, 'Petr': 40, 'Marek': 45}

Následně pak můžeš seřadit buď :

sorted(numbers.keys())
sorted(numbers.values())

Podle toho jestli chceš seřadit podle jména nebo podle rychlosti :)

 
Nahoru Odpovědět 21.10.2016 9:30
Avatar
ra3sk
Člen
Avatar
Odpovídá na Elisse
ra3sk:21.10.2016 20:20

Hmm... mho by to byť. Len ja by som potreboval radiť aj podľa poradia ako boli zadané a zároveň aj podľa rýchlosti

 
Nahoru Odpovědět 21.10.2016 20:20
Avatar
Elisse
Člen
Avatar
Odpovídá na ra3sk
Elisse:24.10.2016 8:59

Ehm asi mi musíš vysvětlit jak má vypadat seznam něčeho setřízený pomocí dvou parametrů zároveň :D

Nějaký konkrétní příklad vstupu a výstupu prosím :)

Editováno 24.10.2016 8:59
 
Nahoru Odpovědět 24.10.2016 8:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.