#python #naukaprogramowania mam taką sobie listę: a = ['2/1/31;access/hybrid', '2/1/32;access/hybrid', '2/1/9;access/hybrid', '2/1/40;access/hybrid', '2/1/4; check in config'] jak to posegregować by porty były numerycznie od najmniejszego? nie radze sobie z taką segregacją :(
@nowa_zielonka: też tak nie do końca; output z Twojego to: ['2/1/31;access/hybrid', '2/1/32;access/hybrid', '2/1/4; check in config', '2/1/40;access/hybrid', '2/1/9;access/hybrid']
@luukasek: Napisałem to przed ogarnięciem że tam musi rozdzielać to 2/1/4, tak jak pisze @venomik trzeba zwracać liczbę na podstawie tego stringa (możesz zrobić split na '2/1/32' po '/', potem for żeby przejść przez każdy element i zerowy element mnożyć przez 1000, pierwszy przez 100 i dodać wszystkie do siebie, wtedy będziesz mieć to jako id z odpowiednią wielkością do posortowania, zwracasz id)
@luukasek: No nie będzie działać po ten split('/') zwraca Ci 3 elementy, np. [2, 1, 32]. Teraz musisz połączyć te 3 elementy w jeden indeks po którym odbędzie się sortowanie, np. 2 * 1000 + 1 * 100 + 32 = 2132. Nie możesz po prostu zrobić konkatenacji, bo wtedy [2, 1, 3] będzie mniejsze od np. [1, 1, 32]: 213 < 1132, ale 2103 > 1132
dobra, w koncu miałem chwilę i to napisałem, wiem że to nie kod #programista15k, niemniej dla mnie działa, i zrozumiałem o co chodzi w tym sortowaniu. sorted daje mi format z którego jestem już wstanie wydłubac sobie to co potrzebuję i jest wg kolejności. Dzieki za wytłumaczenia!
mam taką sobie listę:
a = ['2/1/31;access/hybrid',
'2/1/32;access/hybrid',
'2/1/9;access/hybrid',
'2/1/40;access/hybrid',
'2/1/4; check in config']
jak to posegregować by porty były numerycznie od najmniejszego? nie radze sobie z taką segregacją :(
Komentarz usunięty przez autora
@heniek_8: @venomik: dzięki za pomoc!
['2/1/31;access/hybrid', '2/1/32;access/hybrid', '2/1/4; check in config', '2/1/40;access/hybrid', '2/1/9;access/hybrid']
sorted_a = sorted(a, key=lambda x: x.split(';')[0].split("/")[-1])
zgadnij co?
@nowa_zielonka:
wiem że to nie kod #programista15k, niemniej dla mnie działa, i zrozumiałem o co chodzi w tym sortowaniu.
sorted daje mi format z którego jestem już wstanie wydłubac sobie to co potrzebuję i jest wg kolejności.
Dzieki za wytłumaczenia!
for x in