def fold_values(values, factor): group = OrderedDict() by_factor = lambda i: i[0] & factor for ns, items in itertools.groupby(values, key=by_factor): namespace = group.setdefault(ns, []) namespace.extend([[i[0] - ns, i[1] - ns] for i in items]) return group
def fold_values(values, factor): group = OrderedDict() by_factor = lambda i: i[0] & factor for ns, items in itertools.groupby(values, key=by_factor): namespace = group.setdefault(ns, []) namespace.extend([[i[0] - ns, i[1] - ns] for i in items]) return group
def new_tree(): tree = OrderedDict() for codepoint in hrange(0, sys.maxunicode + 1): cat = unicodedata.category(hunichr(codepoint)) target = tree.setdefault(cat, []) if target and codepoint == target[-1][-1] + 1: target[-1][-1] += 1 else: target.append([codepoint, codepoint]) return tree
def new_tree(): tree = OrderedDict() for codepoint in hrange(0, sys.maxunicode + 1): cat = unicodedata.category(hunichr(codepoint)) target = tree.setdefault(cat, []) if target and codepoint == target[-1][-1] + 1: target[-1][-1] += 1 else: target.append([codepoint, codepoint]) return tree