首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理文本文件中的word索引

处理文本文件中的word索引
EN

Stack Overflow用户
提问于 2013-10-12 21:24:17
回答 1查看 102关注 0票数 0

书名:耶稣基督的儿子,大卫,儿子,亚伯拉罕,雅各,犹大,他的兄弟,法勒斯,亚米拿达 字表B: akwụkwọjizọs kraịst nwa devid nwa ebreham jekọb juda yaụmụnne pirez aminadab file.txt A:

  1. 亚伯拉罕的儿子大卫的儿子耶稣基督的历史记:
  2. 亚伯拉罕生以撒,以撒生雅各,雅各生犹大和他的弟兄。

file.txt B:

  1. akwụọnke kọrọọụ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 nneịikom;

我有两个以上的单词列表(如A& B)的两个不同的。语言。这两个词都是按顺序相互翻译的。我的任务是通过两种语言的两个单独的files.txt (如word-list A到file.txt A)运行这些单词列表,反之亦然,然后为这两个txt文件返回一行,每一行都将包含两个单词列表的索引号,它们在txt的每一行上都可以找到,如:

  1. 2:1 7:6 8:7 10:9 12:10 14:12 16:13 2:1 = txt.file A中的图书索引1-akwụkwọin txt.file B,等等
  2. 1:1、11:6、13:8、17:10、19:12、20:13、1:1 = txt.file A的亚伯拉罕指数、txt.file B的1- ebreham指数等。见下文代码:

代码语言:javascript
复制
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程序员。如果我没有很好地解释我的解释,很抱歉。

EN

回答 1

Stack Overflow用户

发布于 2013-10-12 23:10:40

你的意思是这样的:

代码语言:javascript
复制
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

关于你的档案我得到了结果:

代码语言:javascript
复制
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

伯拉西特·亨德森

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19339347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档