Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: PY 22. 06. 2015, 10:10:48
-
Ahoj. V Pythonu začínám a nemůžu přijít na to, jak pomocí BASIC COMMAND setřídit seznam podle čísel, které jsou před tečkou. Co je za tečkou nebrat v potas.
Mám takový seznam
['5.fsdf s564f s', '1.dds45f4 s65d4f 65s', '2.564', '4.564654', '3.654564f sdf']
Potřebují opravit seznam aby byl takto seřazen
['1.dds45f4 s65d4f 65s', '2.564', '3.654564f sdf', '4.564654', '5.fsdf s564f s']
Poradí někdo znalý ? Děkuji
-
seznam.sort(key=lambda value: int(value.split(".", 1)[0]))
-
Strašně moc děkuji za velkou pomoc. Ještě když jsme u té tečky, můžu jednoduše prosím načíst celý řetězec uložený v nějaké proměnné od první tečky když neznám počet znaků před tečkou ? Nebo to musím rozdělit do pole, smazat potřebné a zase spojit ? Děkuji
-
Strašně moc děkuji za velkou pomoc. Ještě když jsme u té tečky, můžu jednoduše prosím načíst celý řetězec uložený v nějaké proměnné od první tečky když neznám počet znaků před tečkou ? Nebo to musím rozdělit do pole, smazat potřebné a zase spojit ? Děkuji
Já bych zkusil víc mezer za ternárním operátorem, jsem tuhle slyšel, že to léči aji reuma.
-
Strašně moc děkuji za velkou pomoc. Ještě když jsme u té tečky, můžu jednoduše prosím načíst celý řetězec uložený v nějaké proměnné od první tečky když neznám počet znaků před tečkou ? Nebo to musím rozdělit do pole, smazat potřebné a zase spojit ? Děkuji
Udělal bych to podobně jako předešlé:
od_prvni_tecky = retezec.split(".", 1)[1]
-
V Python 3 mi funguje pouhe sort().
@me vakérav
Co pridava ta lambda funkce?
-
V Python 3 mi funguje pouhe sort().
@me vakérav
Co pridava ta lambda funkce?
Seřadí to podle čísel, ne podle řetězců. U zmíněného příkladu je to jedno, ale třeba 10 by sort() bez té lambda funkce zařadil mezi 1 a 2.
-
V Python 3 mi funguje pouhe sort().
@me vakérav
Co pridava ta lambda funkce?
Mozes si to predstavit ako, ze nad danym zaznamom sa vykonava dodatocna operacia. Na zaklade vysledku tej operacii to bude sortovat.
V skratke, prechadzas listom a nad kazdym elementom vykonas tu funkciu a na zaklade vysledku sortnes.
V tomto pripade, rozdelis element - bodka rozdeluje element. a ta 1 v parametri funkcie hovori, ze ak by si tam mal viac moznosti na rozdelenie (viackrat je tam "."), tak sa sa to spravi iba raz (ignoruje dalsie delenie). Split ti vrati list, preto je tam
-
V Python 3 mi funguje pouhe sort().
@me vakérav
Co pridava ta lambda funkce?
Mozes si to predstavit ako, ze nad danym zaznamom sa vykonava dodatocna operacia. Na zaklade vysledku tej operacii to bude sortovat.
V skratke, prechadzas listom a nad kazdym elementom vykonas tu funkciu a na zaklade vysledku sortnes.
V tomto pripade, rozdelis element - bodka rozdeluje element. a ta 1 v parametri funkcie hovori, ze ak by si tam mal viac moznosti na rozdelenie (viackrat je tam "."), tak sa sa to spravi iba raz (ignoruje dalsie delenie). Split ti vrati list, preto je tam
Split ti vrati list, preto je tam [ 0 ]. (neviem kde sa tu escapuje)