- imap : Make an iterator that computes the function using arguments from each of the iterables. Always consider shortest iterables.
- chain : Make an iterator that returns elements from the first iterable until it is exhausted, then proceeds to the next iterable ans so on.
- ifilter : Make an iterator that filters elements from iterable returning only those for which the predicate is True.
- ifilterfalse : Make an iterator that filters elements from iterable returning only those for which the predicate is False.
- compress : Make an iterator that filters elements from data returning only those that have a corresponding element in selectors that evaluates to True.
- izip : Make an iterator that aggregates elements from each of the iterables.
- izip_longest : Same as izip, except for uneven length values are filled by default None.
import itertools def add(*args): s = 0; for num in args: s += num return s print "imap example:" # will calculate 5+2+10, 2+3+10 for n in itertools.imap(add, (5,2,3), (2, 3, 3),(10, 10)): print n print "chain example" for ch in itertools.chain('ABC','DEF'): print ch print "ifilter example " A = [1,2,4,5,7,8] for n in itertools.ifilter(lambda x:x%2 ,A): print n print "ifilterfalse example:" for n in itertools.ifilterfalse(lambda x:x%2 ,A): print n print "compress example:" for ch in itertools.compress('abcdef',[0,1,0,1,1,1]): print ch
Output:
imap example: 17 15 chain example A B C D E F ifilter example 1 5 7 ifilterfalse example: 2 4 8 compress example: b d e f izip example: ('a', 'X') ('b', 'Y') izip_longest example: ('a', 'X') ('b', 'Y') ('c', None) ('d', None)
0 comments:
Post a Comment