说我有一个.txt文件。该文件包含单词和数字的交替行:
Mary
156
Sue
160
Jenn
154
我想把这些交替的行放到像''Mary':156这样的字典中。我的第一个想法是使用带有%运算符的for循环,但我仍然坚持实际的实现。是否可以索引文本文件中的行?到目前为止,我的思路是什么:
for i in range(len(text)):
if i%2 == 0
答案 0 :(得分:9)
Edit2:可以做得更简单:
with open("data.txt") as inf:
data = {name.strip():int(num) for name,num in zip(inf, inf))
返回
{'Mary': 156, 'Sue': 160, 'Jenn': 154}
编辑3:(对评论的回应):
"Mary,Jade,Jenn\n".split(',', 1)
返回
["Mary", "Jade,Jenn\n"]
因此,如果你只想要一个字符串到第一个逗号,你可以做
name = in_string.split(',', 1)[0] # => "Mary"
答案 1 :(得分:0)
你可以这样做
with open("data.txt") as data:
for line in data:
name = line.strip()
number = data.readline()
print name
print number
答案 2 :(得分:0)
怎么样?
for i in range(0, len(text), 2)
但是没有必要,因为你可以用简单的方式加载它:
s = """Mary
156
Sue
160
Jenn
154"""
lines = s.splitlines()
lines = zip(*[iter(lines)]*2)
d = dict(lines)
print d