包含dict的python函数,接受一个键并从该dict返回一个值

时间:2014-09-28 19:46:55

标签: python function dictionary key key-value

我尝试编写一个接受特定字典键的函数,并将该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"

在一些评论之后编辑了一下。

2 个答案:

答案 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