NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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

Aktivity
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
Tvůrce
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
Tvůrce
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
Odpovídá na ra3sk
Erik Šťastný: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 Erik Šťastný
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
Odpovídá na ra3sk
Erik Šťastný: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.