如何在Python上创建函数以从字符串返回dict()?

时间:2017-11-13 01:26:21

标签: python function dictionary

我想创建一个函数,它使用来自txt文件的数据接收字符串(str)并返回类似的字典:

values = {'first' : 43, 'second': 42, ....}

但我的代码打印

{'first': '43'}
{'second': '42'}
{.....}

我使用了Print()..

openfile = open('file.txt', 'r')
for lines in openfile :
dataf = lines.split('-')
dictionary = {}
dictionary[dataf[0] = dataf[1]
print(dictionary)

我做到了,但这不是我想要的。

有人可以帮我这个吗?

感谢

1 个答案:

答案 0 :(得分:0)

您的代码的问题是您在每次迭代中创建一个新字典,覆盖前一个字典。 代码应如下:

openfile = open('file.txt', 'r')
dictionary = {}                      #dictionary is created here
for lines in openfile :
  dataf = lines.split('-')
  dictionary[dataf[0]] = dataf[1]    #inserting into same dict
print(dictionary)                    #print the dict after inserting everything

我希望这能回答你的问题!