我尝试编写一个接受特定字典键的函数,并将该dict值作为字符串返回。下面我尝试传入一个可以是1-4的密钥并让它返回相关的值。我该如何正确地做到这一点?这是我最好的猜测,它只返回所有章节,这不是我想要的。
def function(chapter_key):
chapters = {
1: '["chapter_1"]',
2: '["chapter_2"]',
3: '["chapter_3"]',
4: '["chapter_4"]'
}
return chapters
所以调用函数(1)将返回" chapter_1"
在一些评论之后编辑了一下。
答案 0 :(得分:0)
{'key':'value'}.get('key', None)
返回'value'
请记住,方法是对象,任何需要函数的东西都可以从对象中获取方法。
如果你必须自己动手......
NO_KEY = object()
def f(ch):
chap = {
1: 'foo',
}
return chap.get(ch, NO_KEY)
chapter = f(1)
print(chapter if chapter is not NO_KEY else 'There was no chapter')
在这里,我使用的是dict.get的双参数形式。如果字典中不存在键(第一个参数),则第二个参数是默认值。您可以这样做以检查返回的值是否对您有用。默认情况下,如果没有第二个参数,.get将返回None,但如果None是字典中的有效值,则它作为标记值不是很有用。
这是一种长篇大论的说法'使用.get'
答案 1 :(得分:0)
我想这会有用:
def function(chapter_key):
chapters = {
1 : 'chapter_1',
2 : 'chapter_2',
3 : 'chapter_3',
4 : 'chapter_4'
}
chapter_name = chapters[chapter_key]
return chapter_name