Python 如何使用第二本词典更新两本词典之间的常用词?

Python 如何使用第二本词典更新两本词典之间的常用词?,python,python-3.x,algorithm,dictionary,Python,Python 3.x,Algorithm,Dictionary,在两个字典的帮助下,我很难获得target_sample.dict(dictionary_1.dict的修改版本),如下所示- 第一步需要找出下面提到的两本词典之间的常用英语单词- 字典\u 1.dict-->是小写的 (包含印尼语和英语单词及其发音词汇) 格式-(dictionary_1.dict,包含数千个单词和词典,如下所述) 亚琛 阿杜克 阿杜克(2)阿杜克 成人@d a l t 成人@d a l t s 前进e d v a n s 字典\u 2.dict-->是大写的 (它也只包含英语

在两个字典的帮助下,我很难获得target_sample.dict(dictionary_1.dict的修改版本),如下所示-

第一步需要找出下面提到的两本词典之间的常用英语单词-

字典\u 1.dict-->是小写的 (包含印尼语英语单词及其发音词汇) 格式-(dictionary_1.dict,包含数千个单词和词典,如下所述)

  • 亚琛
  • 阿杜克
  • 阿杜克(2)阿杜克
  • 成人@d a l t
  • 成人@d a l t s
  • 前进e d v a n s
  • 字典\u 2.dict-->是大写的 (它也只包含英语单词及其发音词典) 格式-(dictionary_2.dict,还包含下面提到的数千个单词和词典,类似于cmu dictionary)

  • 亚琛
  • 成年期
  • 成虫
  • 成人(2)AH D AH L T S
  • 提前交货
  • 高级AH D V AE N S T
  • 推进器
  • 步骤2在dictionary_1.dict和DictionAnry_2.dict之间找到常用英语单词后,需要将(dictionary_2.dict中的常用英语单词及其英语发音词典)附加到dictionary_1.dict

    在将普通英语单词从dictionary_1.dict添加到dictionary_2.dict的过程中, 英语单词需要转换成小写字母并附加(2)

    因此,target_sample.dict最终将如下所述

    所需格式-

  • 亚琛
  • 亚琛(2)AAK AH N
  • 阿杜克
  • 阿杜克(2)阿杜克
  • 成人@d a l t
  • 成人@d a l t s
  • 前进e d v a n s
  • 预付款(2)AH D V AE N S
  • 如您所见,上面提到的target_sample.dict,还包含(满足步骤2中提到的要求) -亚琛(2)AA K AH N和 -adavance(2)AH D V A E N S

    我做了很多尝试,以实现target_sample.dict,应用诸如-importers-exporters之类的逻辑,在两个文本文件之间查找常用词等

    """#!/usr/bin/env python"""
    f1 = open("path to dictionary_1.dict", "r")
    f2 = open("path to dictionary_2.dict", "r")
    dict1_contents_list = f1.readlines() 
    dict2_contents_list = f2.readlines() 
    list3 = set(dict1_contents_list)&set(dict2_contents_list)
    list4 = sorted(list3, key = lambda k : list1.index(k))
    
    在执行上述代码时,它没有显示任何错误,这会加剧混淆吗?
    任何帮助都将不胜感激

    我会使用pandas数据框并合并常用词。

    您应该首先将英语词典的内容放入实际的python词典中,然后只需浏览印度尼西亚词典并添加匹配条目即可

    例如:

    f1 = open("path to dictionary_1.dict", "r")
    f2 = open("path to dictionary_2.dict", "r")
    englishDict = { word.lower():speak for line in f2.readlines() for word,speak in [line.split(" ",1)] }
    indoWords   = f1.readLines()
    indoWords  += [ word+" (2) "+englishDict[word] for line in indoWords for word,_ in [line.split(" ",1)] if word in englishDict ]
    indoWords   = sorted(indoWords)
    

    当你写问题时,编辑器下面会有一个实时预览。我不明白你在问什么。我很抱歉表达不清楚,我想现在它更清楚了。你能解释得更详细吗?谢谢你的回复,你能用上面的例子提供示例代码吗,这将是一个很大的帮助。非常感谢。