Python 列出输入到字典中的内容

Python 列出输入到字典中的内容,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,因此,我有一个课堂习题集,给我一个单词的文本缩写csv文件,要求我提示用户输入多个缩写,如果找到缩写,它应该返回全文,如果没有,它将返回原始缩写 我目前一直在努力将用户输入列表正确地输入到字典中 import csv def CreateDictionary(i): abbrv = i.lower() abbrv = i.split(' ') dictionary = {} fo = open('filename.csv') d

因此,我有一个课堂习题集,给我一个单词的文本缩写csv文件,要求我提示用户输入多个缩写,如果找到缩写,它应该返回全文,如果没有,它将返回原始缩写

我目前一直在努力将用户输入列表正确地输入到字典中

import csv

def CreateDictionary(i):            
    abbrv = i.lower()
    abbrv = i.split(' ')

    dictionary = {}
    fo = open('filename.csv')
    data = csv.reader(fo)
    for row in data:
        dictionary[row[0]] = row[1]
    fo.close()

def main():
    user = input("abbreviations")       
    print(CreateDictionary(user))

main()

可能会执行您要求的操作

尝试将字典中键的值添加到列表中(如果存在)

import csv

def CreateDictionary(i):            
    abbrv = i.lower()
    abbrv = i.split(' ')

    dictionary = {}
    fo = open('filename.csv')
    data = csv.reader(fo)
    for row in data:
        dictionary[row[0]] = row[1]
    fo.close()
    ret = []
    for i in abbrv:
        try:
            ret.append(dictionary[i])
        except KeyError:
            ret.append(i)
    return ret
def main():
    user = input("abbreviations")       
    print(CreateDictionary(user))

main()

csv库中有一个DictReader对象,您可以使用它来自动化该过程

您可以调用
print CreateDictionary(i)
来获取您的设计目标。

您的
print(CreateDictionary(user))
行不会打印任何内容,因为
CreateDictionary
不会返回任何内容。
import csv

def CreateDictionary(i):            
    abbrv = i.lower()
    abbrv = i.split(' ')

    dictionary = {}
    fo = open('filename.csv')
    data = csv.reader(fo)
    for row in data:
        dictionary[row[0]] = row[1]
    fo.close()
    ret = []
    for i in abbrv:
        try:
            ret.append(dictionary[i])
        except KeyError:
            ret.append(i)
    return ret
def main():
    user = input("abbreviations")       
    print(CreateDictionary(user))

main()
import csv    
def CreateDictionary(i):
    abbrv = i.lower().split(' ')

    dictionary = {}
    fo = open('filename.csv')
    data = csv.reader(fo)
    for row in data:
        dictionary[row[0]] = row[1]
    fo.close()

    to_return = []
    for c in abbrv:
        to_return.append(dictionary.get(c, c))

    return ' '.join(to_return)  #if you want to return a string, if you want to
                                # return a list, use return to_return