python - 从嵌套列表构建链

标签 python python-3.x algorithm list

我有一个嵌套列表:

[['мама', 'мыть', '10', 'рама'],
 ['мыть', 'рама', '5', 'долго'],
 ['мама', 'мыть', '10', 'рама'],
 ['мыть', 'рама', '3', 'вчера'],
 ['мыть', 'рама', '10', 'вчера'],
 ['рама', 'вчера', '1', 'поздно']]

我需要的是构建链,其中一个列表的最后两个非数字字符串元素等于另一个列表的前两个非数字字符串元素,例如:

['Мама', 'мыть', '10', 'рама']

['мыть', 'рама', '5', 'долго']

'мыть', 'рама' 是匹配项,所以最终输出应该是:

[['мама', 'мыть', '10', 'рама', '5', 'долго'],
 ['мама', 'мыть', '10', 'рама', '3', 'вчера'],
 ['мама', 'мыть'  '10', 'рама', '3', 'вчера', '1', 'поздно']]

数字是一种概率,应该保持原样。我认为应该有某种迭代搜索,但我不确定。 任何帮助将不胜感激。

最佳答案

1 - 根据您的列表创建字典,键是前两个单词的组合。像这样的东西:

key: 'Мама_мыть' value: ['Мама', 'мыть', '10', 'рама'],
key: 'мыть_рама' value: ['мыть', 'рама', '5', 'долго'],
   ... etc ...

2 - 遍历您的列表,从每个条目中的最后两个非数字值创建一个键。并在字典中查找该值。

3 - 找到匹配项后,创建输出。

关于python - 从嵌套列表构建链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50342113/

相关文章:

c++ - 如何更有效地计算 n 个字符串之间的不匹配分数?

python - 使用从循环内的代码片段中提取的函数来避免代码冗余/计算开销

python - 如何让字符串列的所有包含匹配项?

python - python中的"Unknown problem while loading the specified device driver."错误

python-3.x - 使用 Conv1d 在 Python/Keras 中自动过滤时间序列

algorithm - 哈希表 : Why deletion is difficult in open addressing scheme

c++ - 用 vector 实现选择排序

python - 从 pandas Series 字典列表转换为 DataFrame

python - TensorFlow:如何记录 GPU 内存(VRAM)利用率?

python-3.x - Google Cloud Functions-为什么GCF将两个位置参数传递给我的函数?