【发布时间】:2018-12-29 10:10:52
【问题描述】:
我经常创建一个内部列表长度不同的列表列表,例如表示一堆不同长度的句子
[['Hello', 'world'], ['how','are','you'], ['have','a','good','day']]
我需要将这些转换为 numpy 矩阵。为了使所有内部列表的长度相同,我在末尾填充了一个虚拟元素,并使所有内部列表都等于最大长度。
有没有找到内部列表最大长度的紧凑方法?
我通常通过编写一个 for 循环并跟踪最大长度来做到这一点,但我经常这样做,以至于我觉得需要更好的方法。
【问题讨论】:
-
写一个函数怎么样?
-
numpy怎么样?该列表包含字符串,而不是整数 -
没有明确计算最长的填充:
np.array(list(itertools.zip_longest(*alist, fillvalue='dummy'))).T -
@U9-Forward 对不起,我忘了说我使用像 GloVe 这样的词嵌入来用向量替换每个词,这就是我使用 numpy 的地方。