Wpis z mikrobloga

Jest kilka osób, do każdej z nich mam przypisaną liczbę i chcę posortować liczbę osób i przypisane do nich liczby za jednym pociągnięciem. Jak to zrobić w #python ?


#naukaprogramowania
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mcnight95: no dwie zmienne w jednej tekst w drugiej liczba zmiennoprzecinkowa i chce żeby były jakby ze sobą połączone. będę sortował na podstawie liczby ale chce żeby tekst tez się "przemieszczał" razem z liczbą.
przepraszam ale nie jestem dobry w tłumaczeniu ( ͟ل͜)
  • Odpowiedz
@croppz: @jakuzii: dict sam w sobie nie ma informacji o kolejności, więc nie ma czegoś takiego jak posortowany dict, może lepszym rozwiązaniem byłaby lista krotek [(osoba1, numer1), (osoba2, numer2), ..., (osoban, numern)], która potem możesz sortować za pomocą funkcji sorted
  • Odpowiedz
@jakuzii: a co to jest tablica? Możesz sobie zrobić z dicta listę tupli. Albo listę dictów. Jedyna zasada jest taka że elemety seta i i klucze w dictionary muszą być hashowalne, poza tym sky is the limit.

@mcnight95: jest OrderedDict ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@croppz: OrderedDict, przechowuje elementy w kolejności wstawiania, jeżeli na wstępie nie są posortowane, to i tak musisz je zrzucić do listy i posortować ¯\_(ツ)_/¯
  • Odpowiedz
@mcnight95: @croppz:
Jak wrzucić do listy takiego dicta albo tupla? xD
Chcę konkretnie zrobić listę kandydatów i każdy z nich ma imię i punkty rekrutacyjne.
Przepraszam za trucie d--y ale nie do końca rozumiem
  • Odpowiedz
@jakuzii: jak już masz listę tupli jak wyżej to elementy możesz posortować posortować po liczbach metodą sort , parametrem key jako lambdę wybierającą drugi element.
’kandydat.sort(key=lambda t: t[1)’,

Bez key posortuje leksykalnie po osobach a jak będą równe to po liczbach.
  • Odpowiedz