def _select_shorter_captions(captions, top_n):
    """
    :param captions: a list of lists of string, such as [['a','b'],['c','d','e']]
    :param top_n: an integer
    :return: a list with top_n shortest length of the lists of string,
    """
    assert top_n <= 10
    lengths = [[x, len(y)] for x, y in enumerate(captions)]
    # note: python3 works well, python2 unknown
    lengths.sort(key=lambda elem: elem[1])
    hit_elem = lengths[:top_n]
    top_n_sentences = [captions[id_len[0]] for id_len in hit_elem]
    return top_n_sentences