因此,我正在使用一些很好的信息来制作字典,并且希望通过另一个函数以一种格式正确的方式打印出单词。

我有这个:

    norwDict = {
        'et hus': {
            'pron': 'hUs',
            'def': 'house',
            'POS': 'noun',
            'gen': 'neuter', }
        'en blomst' :{
            'pron':'blOMst',
            'def':'flower',
            'POS': 'noun',
            'gen':'masc', }


我要打印它,使其看起来像:

printWord(norwDict, 'blomst')

en blomst (blOmst), noun
    a flower.


为了在def printWord()函数中进行格式化,我该怎么做?

最佳答案

我会使用str.format。参见:https://docs.python.org/2/library/string.html#formatstrings

实际上,它会像这样工作:

def print_word(your_dict, your_word):
    # you need some sort of logic to go from 'blomst' to 'en blomst'
    key, = {k for k in your_dict.keys() if your_word in k}

    # {'pron': 'blOMSt', ... }
    values = your_dict[key]

    print """{key} ({pron}), {POS}
    a {def}""".format(key=key, **values)


str.format允许您传入命名参数,您可以通过对内部进行解压来轻松地到达此处。

10-06 07:41