コード例 #1
0
ファイル: Generators.py プロジェクト: Tapyr/tapyr
def paired_map (s1, s2) :
    """Generates a list of pairs `((s1 [0], s2 [0]), ... (s1 [-1], s2 [-1]))`.

       >>> _show (paired_map ("", []))
       []
       >>> _show (paired_map ("abc", range (4)))
       [('a', 0), ('b', 1), ('c', 2), (None, 3)]
       >>> _show (paired_map ("abc", range (3)))
       [('a', 0), ('b', 1), ('c', 2)]
       >>> _show (paired_map ("abc", range (2)))
       [('a', 0), ('b', 1), ('c', None)]
    """
    def _gen (s) :
        for x in s :
            yield x, True
        while True :
            yield None, False
    for (l, next_l), (r, next_r) in pyk.izip (_gen (s1), _gen (s2)) :
        if not (next_l or next_r) :
            break
        yield l, r
コード例 #2
0
def paired_map(s1, s2):
    """Generates a list of pairs `((s1 [0], s2 [0]), ... (s1 [-1], s2 [-1]))`.

       >>> _show (paired_map ("", []))
       []
       >>> _show (paired_map ("abc", range (4)))
       [('a', 0), ('b', 1), ('c', 2), (None, 3)]
       >>> _show (paired_map ("abc", range (3)))
       [('a', 0), ('b', 1), ('c', 2)]
       >>> _show (paired_map ("abc", range (2)))
       [('a', 0), ('b', 1), ('c', None)]
    """
    def _gen(s):
        for x in s:
            yield x, True
        while True:
            yield None, False

    for (l, next_l), (r, next_r) in pyk.izip(_gen(s1), _gen(s2)):
        if not (next_l or next_r):
            break
        yield l, r
コード例 #3
0
 def _fixed_time_compare (cls, lhs, rhs) :
     s = 0
     for l, r in pyk.izip (lhs, rhs) :
         s |= ord (l) ^ ord (r)
     return s == 0
コード例 #4
0
 def _fixed_time_compare(cls, lhs, rhs):
     s = 0
     for l, r in pyk.izip(lhs, rhs):
         s |= ord(l) ^ ord(r)
     return s == 0