-1

我有一个起始文件,其中每一行的值用逗号分隔,如下所示:

hello,welcome
hi, howareyou
hola,comoestas

我想把这些词放进字典里,这样它们就是键/值对。然后我试图要求一个键并返回相应的值。我相信我很接近所以任何帮助将不胜感激。我也是一个初学者,所以简单的代码是最好的。

def CreateDictionary():


     WordDictionary = open('file.csv', 'r')
     for line in WordDictionary:
         mylist = line.split(',')
         return(mylist)


def main():

     cd = CreateDictionary()
     text=input('input text:')
     for x in cd.values():
        if x == text:
            word=cd[x]
            print(word)

main()
4

2 回答 2

1
def makeDict(infilepath):
  answer = {}
  with open(infilepath) as infile:
    for line in infile:
      key,val = line.strip().split(',')
      answer[key] = val
    return answer

def main(infilepath):
  cd = makeDict(infilepath)
  key = input('input text: ')
  if key in cd:
    print(cd[key])
  else:
    print("'%s' is not a known word" %key)
于 2013-10-10T20:35:36.240 回答
0

这是一种您可以编辑解决方案以创建字典的方法。

def CreateDictionary():
    ret_dict = {}
    with open('file.csv', 'r') as WordDictionary:
        for line in WordDictionary:
            parts = line.split(',')
            ret_dict[parts[0]] = parts[1]
    return ret_dict


def main():
    cd = CreateDictionary()
    text = raw_input('input text:')
    word = cd[text]
    print word

main()

您的方法的一个主要问题是您return在 for 循环中。该函数将在第一次循环迭代后返回,并且不会继续超出文件的第一行。

于 2013-10-10T20:36:44.980 回答