"lists.pop()" melo byt pravdepodobne "sets.pop()", jinak urcite radsi to druhy.
Jinak na to existuje zkratka, ktera dela v zasade to stejne - set.intersection() bere jako parametr libovolny pocet setu. Takze toto by melo byt rozumne kratky a furt dost citelny: non_empty_sets = [set(l) for l in (list_a, list_b, ..) if l] result_set = set.intersection(*non_empty_sets) return list(result_set) On Fri Feb 06 2015 at 10:55:51 PM Vladimir Macek <ma...@sandbox.cz> wrote: > Dovolte poznámku, > > je fajn, jak Honza dodal dva návrhy. Tipuju, že ten druhý je čitelnější pro > začátečníky, je takový imperativní. :-) > > Doporučoval bych však zkusit pochopit eleganci toho druhého, který je IMO > přístupnější pro zkušené a otevírá trochu jiný svět uvažování. > > Čitelnosti by pomohlo rozdělení na dva řádky (nejdřív nazvat generátor), > což jistě Honza ví. > > Pokud tazateli zároveň půjde o zachování pořadí prvků, může se podívat po > typu OrderedSet (http://code.activestate.com/recipes/576694/). > > Vl. > > On 6.2.2015 20:50, Honza Král wrote: > > tohle je kratka odpoved: > > > > import operator > > reduce(operator.and_, (set(l) for l in (list_a, list_b, list_c) if l)) > > > > ale asi ne nejlepsi (neni prilis citelna) > > > > > > doporucil bych spis neco jako: > > > > sets = [set(l) for l in (list_a, list_b, ..) if l] > > > > result =lists.pop() > > > > for s in sets: > > result &= s > > list_vysledny = list(result) > > > > > > Honza Král > > E-Mail: honza.k...@gmail.com > > Phone: +420 606 678585 > > > > > > 2015-02-06 20:10 GMT+01:00 Marcus Scalpere <marcus.scalp...@gmail.com>: > >> Pěkný večer vinšuji, > >> mám několik seznamů a potřebuji zjistit, které jsou a nejsou prázdné > (to bych ještě dal) a pokud některé prázdne nejsou, tak je projít a pokud > jsou některé hodnoty ve VŠECH, tak je uložit. > >> Něco jako: > >> list_a = [] > >> list_b = [x, y, z] > >> list_c = [x, y] > >> . > >> . > >> . > >> list_vysledny = [x, y] > >> > >> Snad jsem se vyjádřil jasně a srozumitelně. Děkuji mnohokráte > > _______________________________________________ > Python mailing list > python@py.cz > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz >
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz