有没有办法返回没有引号的字典值?

时间:2016-09-20 04:12:56

标签: python dictionary return

很抱歉,如果这是在某个地方,但我无法找到我正在寻找的解决方案。我想在没有引号的情况下返回字典的值,并且无法弄清楚我做错了什么。

def read_wiktionary():
 answer = dict()
 f = open('wiktionary.txt', 'r')
 for line in f:
      word,value = line.rstrip('\n').split(' ')
      answer[word] = (value)
 return answer

2 个答案:

答案 0 :(得分:1)

报价仅用作不同键和值之间的分隔符,因此无法删除。报价不会影响字典中的值。

答案 1 :(得分:0)

当您读取文件时,所有内容都将被读取为字符串。要获得浮点值,您需要将其转换为浮动值。

def read_wiktionary():
    answer = dict()
    f = open('wiktionary.txt', 'r')
    for line in f:
        word, value = line.rstrip('\n').split(' ')
        answer[word] = float(value)
    return answer

顺便说一句,使用with打开文件以便在退出块时自动关闭它通常是一种很好的做法。来自the docs

  

最好在处理文件时使用with关键字   对象。这样做的好处是文件在之后正确关闭   它的套件即使在路上引发异常也会完成。

所以,我建议:

def read_wiktionary():
    answer = {}
    with open('wiktionary.txt', 'r') as f:
        for line in f:
            word, value = line.rstrip('\n').split(' ')
            answer[word] = float(value)
    return answer