sawine@4: """ sawine@4: Author: Eugen Sawin sawine@4: """ sawine@4: sawine@4: def main(): sawine@4: args = parse_arguments() sawine@4: table = {} sawine@4: for key in args.values.split(): sawine@5: table = chained_hash(int(key), table, args.table_size) sawine@5: for k in range(args.table_size): sawine@4: if k not in table: sawine@4: table[k] = [] sawine@4: print "%i: %s" % (k, table[k]) sawine@4: sawine@4: def chained_hash(k, table, size): sawine@4: code = k % size sawine@4: if code in table: sawine@4: table[code].append(k) sawine@4: else: sawine@4: table[code] = [k] sawine@4: return table sawine@4: sawine@4: from argparse import ArgumentParser sawine@4: sawine@4: def parse_arguments(): sawine@4: parser = ArgumentParser(description="") sawine@5: parser.add_argument("table_size", type=int, help="size of the hash table") sawine@4: parser.add_argument("values", help="values") sawine@4: return parser.parse_args() sawine@4: sawine@4: if __name__ == "__main__": sawine@4: main()