numbers - 如何创建一个显示单词所在行的索引,最好使用枚举?
问题描述
filename= input('please give name of file', )
lines= open(filename).readlines()
for i,line in enumerate(lines,start=1,):
print(str(i),str(line))
我已经对文本文档的行进行了编号
我如何创建另一个索引来显示每个单词以及它出现在哪一行?
它应该是这样的:
以下文本文档中的编号行:
1)测试 2)这个 3)这个 4)这个 5)狗 6)狗 7)猫 8)猫 9)仓鼠 10)仓鼠
# 我正在努力做这个输出:
指数:
this [2,3,4]
test [1]
dog [5,6]
cat [7,8]
hamster [9,10]
解决方案
这是字典的工作,您可以在其中轻松存储每个单词的行号:
index = dict()
for i, line in enumerate(lines, 1):
if not line in index: index[line] = []
index[line].append(i)
for word in index: print(word.strip(), index[word], sep='\t')
数字(代表行号)应包含在文本文档中。
在这种情况下,我们必须将数字与单词分开:
index = dict()
for line in lines:
i, word = line.strip().split(')')
if not word in index: index[word] = []
index[word].append(int(i))
for word in index: print(word, index[word], sep='\t')
推荐阅读
- python-3.x - 关于使用 skimage 执行基于区域边界的 RAG 的代码
- machine-learning - 梯度下降本身可以解决 ANN 中的非线性问题吗?
- python - 文件的异步下载
- python - 如何在熊猫中放置 2 个不同的数据框
- python - 如何通过同一个套接字连接发送多条消息?
- sql - 带有数据库更新的 SQL 选择案例
- python - 如何使用 scikit-learn API 实现元估计器?
- mysql - 如何允许任何用户在共享主机mysql中运行存储过程
- php - Laravel:如何处理表单请求中的可选数据?
- java - 如何从 kubernetes java 客户端连接到 Istio api 并检索虚拟服务?