词汇索引问题。输入多行英文语句(只含单词和空格),尾行以#号作为输入的结束。试建立该次输入的词汇索引(即输入中所出现的单词,每个单词虽可能多次出现也仅统计1次),并将这些单词按照词汇的升序排列显示出来,每个单词占1行。
时间: 2024-10-20 16:03:52 浏览: 20
词汇索引问题是一个常见的文本处理任务,在自然语言处理中,它的目标是从给定的多行英文文本中提取唯一的单词,并按字母顺序排序。这个过程通常包括以下步骤:
1. **分词**:将每行文本拆分成单个单词。在英文中,这通常是通过空格进行分割。
2. **去重**:由于同一个单词可能会出现在多行中,需要去掉重复,保留每个单词的独特实例。
3. **词汇收集**:将所有的单词存储在一个集合或者字典中,以保证唯一性。
4. **排序**:最后,将收集到的所有单词按照字母顺序进行排序。
下面是一个简单的Python示例来解决这个问题:
```python
def build_word_index(lines):
word_index = {}
for line in lines.split('\n'):
words = line.split(' ')
for word in words:
if word not in word_index:
word_index[word] = 1
else:
word_index[word] += 1
# 将字典转换为列表并排序
sorted_words = sorted(word_index.keys())
return '\n'.join(sorted_words)
# 示例输入
lines = "Hello world\nThis is a test\nAgain hello"
print(build_word_index(lines))
```
当运行这个脚本时,它会输出按字母顺序排列的词汇索引,比如:
```
Again
Hello
is
test
This
world
```
阅读全文