abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:44 | Nová verze

    Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý článek

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    včera 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    3.8. 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 37
    3.8. 16:33 | IT novinky

    Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.

    Ladislav Hagara | Komentářů: 3
    3.8. 15:22 | IT novinky Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2324 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Standardní knihovna pro Python - 3 (builtins 3)

    15. 5. 2006 | Jakub Matys | Programování | 5073×

    Filtry, množiny, převod na reálná čísla, hashování.
    filter(function, list)

    Potřebujete-li získat prvky seznamu, které odpovídají jistým vámi definovaným pravidlům je tato funkce to pravé. Prvním parametrem je funkce, která přejímá jeden parametr - prvek pole a vrací True nebo False. Ta porovnává prvky posloupnosti. Druhým je seznam, n-tice, řetězec nebo jiný objekt, který podporuje procházení pomocí iterátorů. Je-li druhý parametr n-tice nebo řetězec, vrací filter stejný typ. Jinak vrací vždy seznam. Předá-li se jako první parametr None, budou vráceny všechny prvky, které mají hodnotu True.

    Jestliže se vám líbí krkolomnější zápisy, můžete také použít příkaz [item for item in list if function(item)]. Vypadá to sice úděsně, ale je v tom jistá logika: "do seznamu ulož item pro každý prvek item v posloupnosti list, pokud funkce function(item) vrací pravdu". Pro parametr None můžete použít velmi podobný příkaz: [item for item in list if item]. A místo posledního item můžete napsat i logický výraz, což při volání funkce filter() nelze (můžete však použít lambda funkci).

    >>> def funkce(x): # funkce pro porovnavani prvku seznamu
    ...     if x > -7 and x < 25 and (x%2 == 0):
    ...             return True
    ...     else: return False
    ...
    >>> seznam = [2,58,54,57,22,12,214,154,358,
    ... 24,458,5211,259,67,45,84,110,250,45,35,26,368,286,96,46]
    >>> filter(funkce, seznam) # vrati vyfiltrovany seznam
    [2, 22, 12, 24]
    >>> [x for x in seznam if funkce(x)] # jiny zapis, stejny vysledek
    [2, 22, 12, 24]
    >>> [x for x in seznam if x < 50] # pouziti vyrazu misto funkce
    [2, 22, 12, 24, 45, 45, 35, 26, 46]
    >>> retezec = 'nejaky podivny retezec'
    >>> filter(x != 'a' and x != 'o', retezec) # zde vyraz pouzit nelze
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    TypeError: 'bool' object is not callable
    >>> filter(lambda x:x != 'a' and x != 'o', retezec) # muzeme ale pouzit lambda funkci
    'nejky pdivny retezec' # vsimnete si, ze zde vraci funkce retezec
    >>>
    
    float(x)

    Funkce jednoduše převádí parametr x na reálné číslo. Parametr může být celé číslo (případně i dlouhé celé č.), reálné číslo nebo řetězec. Není-li předán žádný parametr, vrací 0.0.

    frozenset([iterable])
    set([iterable])

    Od verze 2.4 jsou v Pythonu k použití dva nové datové typy. Set - množina a frozenset - konstantní množina. Množiny mohou obsahovat jakýkoliv hashovatelný (neměnný) typ - proměnné, n-tice, třídy a jejich instance. Nemohou však obsahovat seznamy. Každá množina může obsahovat pouze jeden objekt určité adresy. Předáte-li tedy nějaké množině např. číslo 7 třikrát bude tato množina obsahovat jen jednu sedmičku. Množiny jsou neřazené kolekce objektů - nelze tedy získat indexy prvků množiny a přistupovat k nim náhodně. Můžete však procházet množiny pomocí cyklu for použitím iterátorů.

    Hlavní rozdíl mezi typy set a frozenset je, že frozenset je neměnná množina, kdežto set můžeme po vytvoření dále upravovat. Protože je frozenset konstantní, můžeme vypočítat hashovou hodnotu objektu funkcí hash(). Objekt typu set má definovány metody pro přidávání a mazání prvků množiny.

    mnoz.add(x) Přidá prvek x do množiny mnoz. Pokud jej množina už obsahuje, nebude přidán.
    mnoz.remove(x) Z množiny mnoz vymaže prvek x. Nebude-li nalezen, vyvolá výjimku KeyError.
    mnoz.discard(x) Pokud množina mnoz obsahuje prvek x, vymaže jej. Jinak nic nedělá.
    mnoz.pop() Vyjme prvek z množiny mnoz (bude vymazán). Vyvolává výjimku KeyError, pokud je množina prázdná.
    mnoz.clear() Vymaže všechny prvky množiny mnoz.

    Oba typy množin - konstantní i nekonstantní - dále obsahují metody pro práci s množinami. Pro tyto metody jsou přetíženy některé operátory. Vše naleznete v následující tabulce:

    m.issubset(n) nebo m <= n Kontroluje, zda je množina m podmnožinou n.
    m.issuperset(n) nebo m >= n Kontroluje, zda je v množině m obsažena množina n - tj. zda je m nadmnožinou n.
    m.union(n) nebo m | n Vrátí sjednocení množin.
    m.intersection(n) nebo m & b Vrátí průnik množin.
    m.difference(n) nebo m - n Vrátí rozdíl množin.
    m.symmetric_difference(n) nebo m ^ n Symetrická diference. Pracuje podobně jako XOR.
    m.copy() Vrací novou kopii objektu množiny m. Jedná se o mělkou kopii.

    Objekty typu set navíc obsahují metody, které umožňují přímo aktualizovat volající metodu.

    • m.union_update(n) nebo m |= n
    • m.intersection_update(n) nebo m &= n
    • m.difference_update(n) nebo m -= n
    • m.symmetric_difference_update(n) nebo m ^= n

    U všech druhů množin můžete také používat funkci len() a klíčové slovo in.

    >>> m = set([1,3,5,7]) # parametr je seznam
    >>> len(m) # velikost mnoziny
    4
    >>> n = set((2,4,6,8)) # parametr je n-tice
    >>> class tr:
    ...     x = 7
    ...
    >>> x = m.copy() # vytvoreni melke kopie mnoziny
    >>> x.issubset(m) # je x podmnozinou m?
    True
    >>> x.add(frozenset('retezec')) # pridani konstantni mnoziny do x
    >>> # 'e' bude v podmnozine pouze jednou
    >>> x.add((1,2,3)) # mnozina muze obsahovat n-tici,..
    >>> x.add(tr) # ..tridu..
    >>> x.add(tr()) # ..i instanci tridy
    >>> x
    set([1, 3, frozenset(['c', 'r', 'e', 't', 'z']), 7, <__main__.tr instance at 0xb7c016ec>, (1, 2, 3), <class __main__.tr at 0xb7c94e9c>, 5])
    >>> m
    set([1, 3, 5, 7])
    >>> n
    set([8, 2, 4, 6])
    >>> m.union(n) # sjednocene mnoziny
    set([1, 2, 3, 4, 5, 6, 7, 8])
    >>> m.intersection(x) # prunik mnozin
    set([1, 3, 5, 7])
    >>> x - m # rozdil mnozin; vraci x bez [1,3,5,7]
    set([<class __main__.tr at 0xb7c94e9c>, <__main__.tr instance at 0xb7c016ec>, frozenset(['c', 'r', 'e', 't', 'z']), (1, 2, 3)])
    >>> m ^ n # symetricka diference; vraci pouze ty prvky, ktere NEJSOU v obou mnozinach (XOR)
    set([1, 2, 3, 4, 5, 6, 7, 8])
    >>> for i in x: # prochazeni mnoziny promoci cyklu
    ...     print i
    ...
    1
    3
    frozenset(['c', 'r', 'e', 't', 'z'])
    7
    <__main__.tr instance at 0xb7c016ec>
    (1, 2, 3)
    __main__.tr
    5
    >>> hash(frozenset('konstantni mnozina')) # pouze konstantni mnoziny mohou vracet hashovou hodnotu
    1371327332
    >>>
    
    hash(object)

    Tato funkce vrací hodnotu hashe objektu argumentu. Vrácenou hodnotou může být pouze celé číslo. Argumentem může být pouze konstantní objekt. Používá se k rychlému porovnávání klíčů slovníků při vyhledávání. Předáte-li jako argumenty čísla různého typu, ale se stejnou hodnotou, budou mít vždy stejnou hodnotu hashe.

    >>> hash(7)
    7
    >>> hash(7L)
    7
    >>> hash(7.0)
    7
    >>> hash(7 + 0j)
    7
    >>>
    
           

    Hodnocení: 33 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    15.5.2006 09:19 trocha pravdy | skóre: 3 | blog: nic
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    Na to, ze je to uz treti dil, tak je to porad celkem nuda. Co takhle dat odkaz na tyto funkcicky do standardni dokumentace a zacit konecne popisovat zajimavejsi (a obtiznejsi) moduly...
    15.5.2006 12:53 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    Matrix: až vyhrajou stroje, bude konečně klid.
    Oni už dávno vyhráli, ale že by byl klid jsem si nevšiml. Ani tady v Matrixu ani v reálném světě ;-)

    Sorry za OT.

    In the garden sleeps a messenger ·
    15.5.2006 13:47 trocha pravdy | skóre: 3 | blog: nic
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    Oni vyhrali? Tak to jsem asi videl jinej Matrix...
    15.5.2006 18:15 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    Asi jsi připojenej do jiný domény v rámci celýho Matrixu, kde to dopadlo jinak ;o)
    15.5.2006 23:37 JoHnY2
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    DNS vladne svetu :) PS: stacila by poradna casticova vychrice od slunicka a vsichni se zblaznime, protoze vsechny verejny satelity pujdou k certu.
    16.5.2006 09:57 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: Standardní knihovna pro Python - 3 (builtins 3)
    nepochopil ;-)
    In the garden sleeps a messenger ·

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.