补全序列

输入就是我们的序列 是一个列表的列表


我们可以指定一些信息 都在里面了 


这程序我感觉写的不错 简单细腻

==========================================

def padding(sequence, pads=0, max_len=None, dtype='int32', return_matrix=False):

    v_length = [len(x) for x in sequence]

    max_len = max(v_length) if max_len is None else max_len

    v_length = map(lambda z: z if z <= max_len else max_len, v_length)

    x = (np.ones((len(sequence), max_len)) * pads).astype(dtype)

    for idx, s in enumerate(sequence):

        trunc = s[:max_len]

        x[idx, :len(trunc)] = trunc

    if return_matrix:

        v_matrix = np.asmatrix([map(lambda item: 1 if item < line else 0, range(max_len)) for line in v_length],

                               dtype=dtype)

        return x, v_matrix

    return x, v_length


留下您的评论

回复列表:

By王炳宁 on Jan. 22, 2016 | 类别 Python

关于本站