0

单词表 A: 书耶稣基督的儿子大卫儿子亚伯拉罕雅各布犹大他的兄弟佩雷斯阿米纳达布

词汇表 B: akwụkwọ jizọs kraịst nwa devid nwa ebreham jekọb juda ya ụmụnne pirez aminadab

文件.txt 答:

  1. 耶稣基督的历史,大卫之子,亚伯拉罕之子:
  2. 亚伯拉罕成为以撒的父亲;以撒成为雅各的父亲;雅各成为犹大和他兄弟的父亲;

文件.txt B:

  1. akwụkwọ nke kọrọ akụkọ banyere jizọs kraịst , nwa devid , nwa ebreham :
  2. ebreham mụrụ aịzik ; aịzik amụọ jekọb ; jekọb amụọ juda na ụmụnne ya ndị ikom ;

我有 2 个以上 2 个 diff 的单词列表(比如 A 和 B)。语言。两者都按顺序包含彼此的单词翻译。我的任务是通过两种语言的 2 个单独的 files.txt 运行这些单词列表,例如单词列表 A 到 file.txt A,反之亦然,然后为两个 txt 文件返回一行,每个文件都包含两个单词的索引号-list 在 txt 的每一行中找到它们的位置,如下所示:

  1. 2:1 7:6 8:7 10:9 12:10 14:12 16:13 [ 2:1 = txt.file A 中的 2 本书索引和 txt.file B 中的 1-akwụkwọ 等]
  2. 1:1 11:6 13:8 17:10 19:12 20:13 [1:1 = txt.file A 中 abraham 的 1 个索引和 txt.file B 中的 1- ebreham 等]。见下面的代码:
import sys

def wordlist(filename):
    wordlist = []
    with open(filename, 'rb') as f:
        for line in f:
            wordlist.append(line)
    return wordlist

eng = []
for lines in open('eng_try.txt', 'rb'):
    line = lines.strip()
    eng.append(line)
igb = []
for lines in open('igb_try.txt', 'rb'):
    line = lines.strip()
    igb.append(line)

i = 0
while i < len(eng):
    eng_igb_verse_pair = eng[i] + " " + igb[i]
    line = eng_igb_verse_pair.strip().split()
    for n in range(0, len(wordlist('eng_wordlist.txt'))):
        eng_word =  wordlist('eng_wordlist.txt').pop(n)
        igb_word =  wordlist('igb_wordlist.txt').pop(n)
        if eng_word in line and igb_word in line:
            print '{0} {1}:{2}'.format(i, line.index[eng_word], line.index[igb_word])
    i += 1

这实际上打印为空。我知道我的问题出在程序的最后一段。有人可以帮忙吗。我不是那么有经验的python程序员。抱歉,如果我没有很好地解释我的解释。

4

1 回答 1

0

你的意思是这样的:

import sys

def checkLine(line_eng, line_igb):
  eng_words = line_eng.split()
  igb_words = line_igb.split()
  for word in eng_words:
    if word in eng:
      igb_word = igb[eng.index(word)]
      print "%d:%d" % ( eng_words.index(word)+1, igb_words.index(igb_word)+1),

def linelist(filename):
    lineslist = []
    for line in open(filename, 'rb'):
      lineslist.append(line)
    return lineslist

eng = []
for lines in open('eng_try.txt', 'rb'):
    line = lines.strip()
    for w in line.split():
      eng.append(w)
igb = []
for lines in open('igb_try.txt', 'rb'):
    line = lines.strip()
    for w in line.split():
      igb.append(w)

eng_lines = linelist("eng_wordlist.txt")
igb_lines = linelist("igb_wordlist.txt")

for n in range(0, len(eng_lines)):
  print "%d. " % (n+1),
  checkLine(eng_lines[n],igb_lines[n])
  print

对于您的文件,我得到了结果:

1. 2:1 7:6 8:7 10:9 12:10 10:9 16:13
2. 1:1 11:7 11:7 17:11 19:14 20:13

BR寄生者亨德森

于 2013-10-12T23:10:40.650 回答