我目前正在学习一些Python。因此,假设我有一个包含以下内容的文本文件,每行上都有一个不同的字母:
g
y
k
z
a
我想要实现的是将字母存储为字符串键,并在第一行中使用该行的编号作为从1开始的值。尝试了line.split
和.strip
的不同形式,但是由于每个行只包含键,因此它给出了“没有足够的值要解压(预期2,得到1)”。那么如何从这里开始呢?
d = {}
with open('the_text_file.txt') as f:
for line in f:
# *Magic will happen here*
x = sorted(d.items(), key=...)
print(x)
最终输出将是类似的东西:
a 5
g 1
k 3
y 2
z 4
分类和打印部分需要在行处理循环之后发生,而不是在其中进行。
with open('the_text_file.txt') as f:
d = { c.strip():i for i,c in enumerate(f,1) }
x = dict(sorted(d.items()))
print(x)
尝试一下:
d = {}
with open('the_text_file.txt') as f:
for idx, line in enumerate(f.readlines()):
d[line.strip()] = idx
print(d)
或使用列表理解:
with open('the_text_file.txt') as f:
res = {line: idx for idx, line in enumerate(f.readlines())}
print(res)