(text_lens, max_len=510, min_len=30)
return new_len
戒断过长文本你的长度，小于30不在戒断，大于30按比例戒断
    :param text_lens: 列表形式 data 字段中每个 predicate+object 的长度
    :param max_len: 最长长度
    :param min_len: 最段长度
    :return: 列表形式 戒断后每个 predicate+object 保留的长度
            如 input：[638, 10, 46, 9, 16, 22, 10, 9, 63, 6, 9, 11, 34, 10, 8, 6, 6]
             output：[267, 10, 36, 9, 16, 22, 10, 9, 42, 6, 9, 11, 31, 10, 8, 6, 6]
戒断过长文本你的长度，小于30不在戒断，大于30按比例戒断
    :param text_lens: 列表形式 data 字段中每个 predicate+object 的长度
    :param max_len: 最长长度
    :param min_len: 最段长度
    :return: 列表形式 戒断后每个 predicate+object 保留的长度
            如 input：[638, 10, 46, 9, 16, 22, 10, 9, 63, 6, 9, 11, 34, 10, 8, 6, 6]
             output：[267, 10, 36, 9, 16, 22, 10, 9, 42, 6, 9, 11, 31, 10, 8, 6, 6]
戒断过长文本你的长度，小于30不在戒断，大于30按比例戒断 : param text_lens : 列表形式 data 字段中每个 predicate + object 的长度 : param max_len : 最长长度 : param min_len : 最段长度 : return : 列表形式 戒断后每个 predicate + object 保留的长度 如 input： [ 638 10 46 9 16 22 10 9 63 6 9 11 34 10 8 6 6 ] output： [ 267 10 36 9 16 22 10 9 42 6 9 11 31 10 8 6 6 ]
def get_len(text_lens, max_len=510, min_len=30):
    """
    戒断过长文本你的长度，小于30不在戒断，大于30按比例戒断
    :param text_lens: 列表形式 data 字段中每个 predicate+object 的长度
    :param max_len: 最长长度
    :param min_len: 最段长度
    :return: 列表形式 戒断后每个 predicate+object 保留的长度
            如 input：[638, 10, 46, 9, 16, 22, 10, 9, 63, 6, 9, 11, 34, 10, 8, 6, 6]
             output：[267, 10, 36, 9, 16, 22, 10, 9, 42, 6, 9, 11, 31, 10, 8, 6, 6]

    """
    new_len = [min_len]*len(text_lens)
    sum_len = sum(text_lens)
    del_len = sum_len - max_len
    del_index = []
    for i, l in enumerate(text_lens):
        if l > min_len:
            del_index.append(i)
        else:
            new_len[i]=l
    del_sum = sum([text_lens[i]-min_len for i in del_index])
    for i in del_index:
        new_len[i] = text_lens[i] - int(((text_lens[i]-min_len)/del_sum)*del_len) - 1
    return new_len
def get_len ( text_lens , max_len = 510 , min_len = 30 ) : new_len = [ min_len ] * len ( text_lens ) sum_len = sum ( text_lens ) del_len = sum_len - max_len del_index = [ ] for i , l in enumerate ( text_lens ) : if l > min_len : del_index . append ( i ) else : new_len [ i ] = l del_sum = sum ( [ text_lens [ i ] - min_len for i in del_index ] ) for i in del_index : new_len [ i ] = text_lens [ i ] - int ( ( ( text_lens [ i ] - min_len ) / del_sum ) * del_len ) - 1 return new_len