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 08:35 | Komunita
    Pořadatelé dalšího ročníku komunitního setkání správců nejen českých a slovenských sítí CSNOG 2027 upozorňují, Call for Abstracts pro blížící se akci (20. a 21. ledna 2027, Zlín) končí už 31. října, tedy na konci tohoto týdne.. … více »
    VSladek | Komentářů: 1
    24.10. 23:22 | Bezpečnostní upozornění

    Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.

    vencour | Komentářů: 2
    24.10. 12:44 | Pozvánky

    Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »

    lkocman | Komentářů: 2
    24.10. 00:44 | Bezpečnostní upozornění

    Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění

    … více »
    vencour | Komentářů: 14
    23.10. 17:44 | IT novinky

    Francouzský výrobce kabelů Nexans upozornil na napjaté dodávky elektrických kabelů. Výstavba nové výrobní linky pro některé typy kabelů může trvat přibližně tři roky. Datacentra potřebují rozsáhlé nízkonapěťové a středněnapěťové rozvody. Poptávka roste současně s modernizací elektrických sítí. Někteří odběratelé proto uzavírají výrazně delší dodavatelské smlouvy [Reuters].

    vencour | Komentářů: 17
    23.10. 14:44 | Zajímavý projekt

    Představena byla (𝕏) virtuální platforma FLYBENCH FPV, která nováčky provede zapojením a konstrukcí dronů.

    Ladislav Hagara | Komentářů: 11
    23.10. 04:11 | Nová verze

    Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    22.10. 20:22 | IT novinky

    Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.

    Ladislav Hagara | Komentářů: 4
    22.10. 15:44 | Bezpečnostní upozornění

    Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »

    vencour | Komentářů: 1
    22.10. 15:33 | Nová verze

    Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).

    ʚĭɞ 🍉 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2913 hlasů
     Komentářů: 34, poslední dnes 08:24
    Rozcestník

    Standardní knihovna pro Python - 3 (builtins 3)

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

    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
    >>>
    

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Tržby z podnikových úložných systémů se meziročně zvýšily o 33,6 %
    Týden na ITBiz: Incident OpenAI a Hugging Face ukázal limity softwarové ochrany
    Týden na ITBiz: 88 % vrcholových manažerů se obává, že selhání v oblasti datové suverenity by je mohlo stát místo

    Nejkomentovanější články posledního měsíce

    Událo se v týdnu 40/2026
    Událo se v týdnu 41/2026
    Událo se v týdnu 42/2026
      všechny statistiky »

    Seriál Standardní knihovna pro Python (dílů: 8)

    Standardní knihovna pro Python - 1 (builtins) (první díl)
    <—« Standardní knihovna pro Python - 2 (builtins 2)
    »—> Standardní knihovna pro Python - 4 (builtins 4)
    Standardní knihovna pro Python - 8 (regulární výrazy 1) (poslední díl)

    Související články

    Standardní knihovna pro Python - 1 (builtins)
    Standardní knihovna pro Python - 2 (builtins 2)
    Ruby pro začátečníky - 1
    Seriál: BASH
    Python a PyQt - 1 (úvod)
    Python a PyQt - 2 (podmínky, cykly, tlačítka)
    Začínáme programovat v jazyce Python
    Kommander - 1 (Skriptované GUI)
    Kommander - 2 (Starý parser)
    Kommander - 3 (Nový parser)
    Seriál: Začíname KProgramovať
    Programujeme v PERLu - I
    Programujeme v PERLu - II

    Další články z této rubriky

    LLVM a Clang – více než dobrá náhrada za GCC
    Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
    Reverzujeme ovladače pro USB HID zařízení
    Linux: systémové volání splice()
    Programování v jazyce Vala - základní prvky jazyka
           

    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ákno • Nahoru

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