Tags Posts tagged with "napisy"

napisy

przez -
11 666
Konsola program

W tablicach przechowujemy listy klientów, zakupów, towaru w sklepie czy listę napisów filmowych dostępnych dla wybranego pliku. Podczas pisania aplikacji Subget natknąłem się na problem posortowania tablicy według innej tablicy czy jeszcze lepiej – wedlug wielu tablic. Problem jak każdy inny – do rozwiązania, w artykule poznacie jedną z metod sortowania bardziej skomplikowanych tablic.

Przykład będzie się opierać o prostą listę napisów filmowych, podzieloną na trzy kolumny.

Język Tytuł Serwis
es Piel que habito, La opensubtitles.org
pl Borat napiprojekt.pl
en Skóra w której żyję opensubtitles.org
pl Borat opensubtitles.org

Sortowanie w tym przykładzie będzie polegać na ułożeniu listy według serwisu, a następnie według języka.

Krok #1

Pierwszym krokiem jest nadanie priorytetu poszczególnym danym w sortowanych kolumnach.

Język:
pl – 1
en – 2
es – 3

Serwis:
napiprojekt.pl – 1
opensubtitles.org – 2

Krok #2

Drugim krokiem jest połączenie priorytetów w jeden ciąg – uwaga, kolejność ma znaczenie!

| Kolumna wysokiego priorytetu | Kolumna niskiego priorytetu |
pl” + “napiprojekt.pl” = 1 + 1 = “11”
pl” + “opensubtitles.org” = 1 + 2 = “12”
en” + “opensubtitles.org” = 2 + 2 = “22”
es” + “opensubtitles.org” = 3 + 2 = “32”

Krok #3

Każdy wynik połączenia priorytetów należy zamienić na format liczbowy i dodać do tablicy, jako nowa komórka o nazwie np. “priorytet”.
Następnie należy uruchomić standardową funkcję sortującą i posortować tablicę według kolumny priorytet.

Wynik sortowania przykładowej tabelki:

Język Tytuł Serwis Priorytet
pl Borat napiprojekt.pl 11
pl Borat opensubtitles.org 12
en Skóra, w której żyję opensubtitles.org 22
es Piel que habito, La opensubtitles.org 32

Dlaczego kolejność priorytetów ma znaczenie i dlaczego nie można zsumować priorytetów jako liczb?

Zsumowanie dwóch liczb np. 1+1 będzie równe 2, przemienność matematyczna uniemożliwi uznania danej kolumny za ważniejszą.

Odwrotne połączenie kolumn daje całkowicie inny wynik przy łączeniu ciągów i 2 + 1 będzie się równać 21, a 1 + 2 = 12 – dzięki temu można posortować tablicę według kilku kolumn na raz określając jednocześnie która z kolumn jest ważniejsza. Te ważniejsze są zawsze z przodu ciągu znaków.

przez -
1 178
Linux Tux

Napi jest windowsowym programem, przeznaczonym do pobierania napisów do filmów. Niedawno ukazała się jego nieoficjalna wersja na systemy Uniksowe oraz dystrybucje Linuksowe. Za pomocą programu bardzo szybko pobierzesz idealnie dobrane napisy do twojej wersji filmu. Od teraz można korzystać z zasobów Napiprojekt także pod Linuksem. Napiprojekt do działania potrzebuje Pythona i pełnej wersji kompresora 7zip. Zainteresowani mogą pobrać program ze strony hacking.apcoh.com.

Polecane

Prasa, Czasopismo

1 849
Ukazało się Linux Magazine – numer 161. Lipcowe wydanie magazynu zawiera analizę tworzenia bardziej czytelnych wyrażeń regularnych z Simple Regex Language, instrukcje zabezpieczania i...