两个单独列表中的匹配子序列

ws

我正在处理两个单独的列表,一个split是字符串结果,另一个包含一个列表对象,列表对象中的第一项是字符串。

例如,

list_0: ["Hey", "hello?", "hi"]
list_1: [["Hey", 0.13, 0.14, 0, 0.58], ["hello?", 0.15, 0.16, 1, 0.23], ["hi", 0.17, 0.18, 0, 0.32]]

list_0以正确的顺序排列,并且包含重复的值,由于它是音频文件的翻译,因此不能作为集合。在中list_1reference_number每个扬声器的第三个元素是a

我想对翻译进行分类,找到每个单词/短语的说话者,这样我就可以看到reference_number_0说出来的"Hey", "hi"reference_number_1说的"hello?"

由于可能存在重复的值,因此我需要确保我没有错误地匹配第一对。

如何找到ref_number每个完整短语的?

预期产量

0: "Hey", "hi"
1: "hello?"

作为更复杂的示例,请说我拥有aslist_0list_1

list_0: ["Have", "we", "all", "had", "lunch" yes", "yes", "not", "yet"]
list_1: [["Have", 0.0, 0.1, 0, 0.12], ["we", 0.2, 0.3, 0, 0.48], ["all", 0.4, 0.5, 0, 0.85], ["had", 0.6, 0.7, 0, 0.82], ["lunch", 0.8, 0.9, 0, 0.35], ["yes", 0.9, 1.0, 0, 0.57], ["yes", 1.1, 1.2, 1, 0.56], ["not", 1.3, 1.4, 2, 0.25], ["yet", 1.5, 1.6, 2, 0.73]]

这里有三个扬声器-0、1、2。输出应为:

0: "Have", "we", "all", "had", "lunch", "yes"
1: "yes"
2: "not", "yet"

干杯:)

w

只需构建列表的字典即可:

di={}
for l0,l1 in zip(list_0,list_1):
    di.setdefault(l1[3],[]).append(l0)

>>> di
{0: ['Have', 'we', 'all', 'had', 'lunch', 'yes'], 1: ['yes'], 2: ['not', 'yet']}

对于您的特定输出:

>>> '\n'.join("{}: {}".format(e, ", ".join(di[e])) for e in sorted(di))
0: Have, we, all, had, lunch, yes
1: yes
2: not, yet

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过python中的regex优化查找两个列表之间的匹配子字符串

使用 R 中的匹配子类计算两个国家之间的相关性

两个路径之间最长的匹配子路径

匹配两个序列

比较两个无序列表,并找出pyspark中哪些元素不匹配

postgres 通过两个列表匹配(列表中的列表)

Python在两个单独的列表中获取值

返回表示两个列表中的匹配项的列表

隐藏两个嵌套的ng-repeats中没有匹配子孙的ng-repeat物品

从“列表”和“列表列表”中创建两个单独的“列表列表”

如何从数组或列表中删除两个元素的序列?

Scala遍历两个序列并追加到列表中

从序言中的两个列表中删除连续序列

在 C 中合并两个排序列表

如何匹配Scala中两个列表中的元素?

提高两个列表中模糊匹配词的速度

Prolog-计算两个列表中的匹配项

从两个匹配列表中随机选择[Python]

匹配R中的两个矩阵列表(逐行)

Python-在两个列表中获得重复匹配

过滤列表中的前两个匹配元素

根据Python中的匹配列表连接两个矩阵?

查找两个列表中匹配元素之间的元素

将两个单独的列表追加到列表列表中

比较两个列表中的元素,并返回与原始列表不同的单独列表

在两个特殊字符之间匹配子字符串

比较python中的两个列表并将结果保存在单独的列表中

如何在列表中拆分两个索引而不是在python中创建单独的列表

两个单独的垂直列表在下拉列表中滚动