因此,我正在使用一些很好的信息来制作字典,并且希望通过另一个函数以一种格式正确的方式打印出单词。
我有这个:
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
允许您传入命名参数,您可以通过对内部进行解压来轻松地到达此处。