首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将文本到字典的文本文件转换为字典,其中键是文本行,值是行号

如何将文本到字典的文本文件转换为字典,其中键是文本行,值是行号
EN

Stack Overflow用户
提问于 2021-02-06 05:43:45
回答 4查看 46关注 0票数 0

由MBA Skool团队发表,最后更新:2021年1月2日什么是心理分割?心理细分是一种市场细分策略,根据心理、信念、个性、特征、生活方式、态度、原因等对整个市场进行细分。心理细分有助于根据人们的思维方式以及他们想要的生活方式,从生活方式、地位等方面来识别人们。这种细分方法关注的是客户的心理,公司可以在营销活动中关注这些心理。心理分割更多地植根于心理学领域,而不是传统的年龄、收入等分割变量。

EN

回答 4

Stack Overflow用户

发布于 2021-02-06 05:47:37

你可以试试这个

代码语言:javascript
复制
text="pie\n hotdogs\n noodles\n cheese\n..."
rows=text.split("\n")
result = dict((j,i+1) for i,j in enumerate(rows))
print(result)

更新:如果你想保存所有的重复,你不能使用dict。但是您可以使用这样的元组列表

代码语言:javascript
复制
text="pie\n hotdogs\n noodles\n cheese\n... \n pie"
rows=text.split("\n")
result = [(j, i+1) for i,j in enumerate(rows)]
print(result)
票数 1
EN

Stack Overflow用户

发布于 2021-02-06 05:53:22

代码语言:javascript
复制
file1 = open('nameoffile.txt', 'r')
dictionary={}

for index, line in enumerate(file1, start=1):
    dictionary[line.strip()] = index

file1.close()

print(dictionary)
票数 1
EN

Stack Overflow用户

发布于 2021-02-06 05:55:20

我想像这样的东西会适合你的目的:

代码语言:javascript
复制
# read from file 
input_path = "input.txt"
with open(input_path, "r") as file:
    text = file.read()

your_dict = {}
for line_idx, line_text in enumerate(text.split('\n')):
    your_dict[line_text] = line_idx+1

# your_dict is what you want

但是,请注意,重复行将只报告最新出现的索引。如果要存储所有匹配项,则应对每行文本使用索引列表:

代码语言:javascript
复制
from collections import defaultdict

your_dict = defaultdict(list)
for line_idx, line_text in enumerate(text.split('\n')):
    your_dict[line_text].append(line_idx+1)

# now each line will give you a list of indices in ascending order
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66071009

复制
相关文章

相似问题

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