我有一个包含如下条目的文件:261332。。。
和另一个包含英语句子的文件
我必须写一个脚本来打印句子26中的第一个单词和句子33中的第二个单词。我该怎么做呢?
发布于 2010-03-03 11:53:43
这是一个大致的草图:
现在,如果您展示了如何在Python中实现此功能,您可能会得到更多帮助。
发布于 2010-03-03 12:14:48
下面的代码应该可以完成这项任务。假设文件不太大。你可能需要做一些修改来处理边缘情况(如双倍空格等)
# Get numers from file
num = []
with open('1.txt') as file:
num = file.readlines()
# Get text from file
text = []
with open('2.txt') as file:
text = file.readlines()
# Parse text into words list.
data = []
for line in text: # For each paragraoh in the text
sentences = l.strip().split('.') # Split it into sentences
words = []
for sentence in sentences: # For each sentence in the text
words = sentence.split(' ') # Split it into words list
if len(words) > 0:
data.append(words)
# get desired result
for i = range(0, len(num)/2):
print data[num[i+1]][num[i]]发布于 2010-03-03 12:19:05
最大的问题是,你必须决定是什么分隔了“句子”。例如,'.'是句子的结尾吗?或者可能是缩写的一部分,例如我刚才使用的那个?-)其次,更简单的是,是什么分隔“单词”,例如,"TCP/IP“是一个单词还是两个单词?
一旦你明确地定义了这些规则,你就可以很容易地把文本文件读成一个“句子”列表,每个句子都是一个“单词”列表。然后,将另一个文件读取为一系列成对的数字,并将它们用作整体列表和所标识的子列表中的索引。但是句子和单词分离的问题是真正困难的部分。
https://stackoverflow.com/questions/2368618
复制相似问题