Thread View: pl.comp.lang.perl
3 messages
3 total messages
Started by Krzysztof Lewicki
Tue, 22 Dec 2009 21:30
Sortowanie par ze względu na wybraną kolumnę
Author: Krzysztof Lewicki
Date: Tue, 22 Dec 2009 21:30
Date: Tue, 22 Dec 2009 21:30
16 lines
1478 bytes
1478 bytes
Witam, dopiero zaczynam swoją przygodę z perlem więc proszę o wyrozumiałość... Otóż mam dane w postaci pewnych par liczba-wyraz. Chciałbym posortować te dane ze względu na wartość liczb. W pythonie użyłbym po prostu listy krotek np. [(1,'aaa'), (2,"xxx")...] oraz polecenia sort określając kolumnę sortowania. Nie wiem jednak jak zrobić to w perlu (chodzi o te nieszczęsne "płaskie" listy). Teoretycznie mógłbym z tego ciągu utworzyć hasha (liczba => wyraz) i potem posortować klucze ale niestety nie mam gwarancji, że liczby te będą unikalne... Jak się do tego zabrać? -- Pozdrawiam, menth0l
Re: Sortowanie par ze względu na wybraną kolumnę
Author: Vava
Date: Tue, 22 Dec 2009 22:36
Date: Tue, 22 Dec 2009 22:36
34 lines
1752 bytes
1752 bytes
Dnia 22-12-2009 o 22:30:05 Krzysztof Lewicki <menth0l@remove.this.o2.pl>
napisał(a):
> Witam, dopiero zaczynam swoją przygodę z perlem więc proszę o
> wyrozumiałość...
>
> Otóż mam dane w postaci pewnych par liczba-wyraz. Chciałbym posortować te
> dane ze względu na wartość liczb. W pythonie użyłbym po prostu listy
> krotek np. [(1,'aaa'), (2,"xxx")...] oraz polecenia sort określając
> kolumnę sortowania. Nie wiem jednak jak zrobić to w perlu (chodzi o te
> nieszczęsne "płaskie" listy). Teoretycznie mógłbym z tego ciągu utworzyć
> hasha (liczba => wyraz) i potem posortować klucze ale niestety nie mam
> gwarancji, że liczby te będą unikalne...
>
> Jak się do tego zabrać?
lista list.
perldoc perllol
while(<>) {
push @lista, [split/\s+/];
}
for (sort {$a->[0] <=> $b->[0]} @lista) {
print "$_->[0]: $_->[1]\n";
}
Pozdrawiem
--
Vava
Wawrzyniec Żurowski
Victoria vale, et ubique es, suaviter sternutas
Re: Sortowanie par ze względu na wybraną kolumnę
Author: Szymon Sokół
Date: Tue, 22 Dec 2009 22:38
Date: Tue, 22 Dec 2009 22:38
23 lines
2249 bytes
2249 bytes
On Tue, 22 Dec 2009 21:30:05 +0000 (UTC), Krzysztof Lewicki wrote: > Witam, dopiero zaczynam swoją przygodę z perlem więc proszę o > wyrozumiałość... > > Otóż mam dane w postaci pewnych par liczba-wyraz. Chciałbym posortować te > dane ze względu na wartość liczb. W pythonie użyłbym po prostu listy > krotek np. [(1,'aaa'), (2,"xxx")...] oraz polecenia sort określając > kolumnę sortowania. Nie wiem jednak jak zrobić to w perlu (chodzi o te > nieszczęsne "płaskie" listy). Teoretycznie mógłbym z tego ciągu utworzyć > hasha (liczba => wyraz) i potem posortować klucze ale niestety nie mam > gwarancji, że liczby te będą unikalne... > > Jak się do tego zabrać? Całkiem tak samo. Hint: w Perlu elementem tablicy może być referencja do tablicy (w szczególności dwuelementowej). -- Szymon Sokół (SS316-RIPE) -- Network Manager B Computer Center, AGH - University of Science and Technology, Cracow, Poland O http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F Free speech includes the right not to listen, if not interested -- Heinlein H
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads