🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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ę
#51711
Author: Krzysztof Lewicki
Date: Tue, 22 Dec 2009 21:30
16 lines
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ę
#51712
Author: Vava
Date: Tue, 22 Dec 2009 22:36
34 lines
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ę
#51713
Author: Szymon Sokół
Date: Tue, 22 Dec 2009 22:38
23 lines
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