【发布时间】:2017-01-08 22:48:09
【问题描述】:
在 Python 中重复表达式的最 Pythonic 方式是什么。
上下文:一个函数正在传递一个字典(可能有 20 个元素),我需要从这个字典中提取和使用值如果它们存在。像这样的:
x = dict_name['key1'] if dict_name['key1'] else ''
现在,我不想为所有 20 个不同的键编写这个逻辑 20 次,而是想在一个地方定义这个表达式,然后重复使用它。以后会更容易维护。在“C/C++”编程语言中,它是#define 或inline 函数的一个很好的例子。在 Python 中执行此操作的 Pythonic 方式是什么?
如您所料,我是 Python 新手。因此,我感谢您对此提供的帮助或在 Python 中为此构造的指针。
【问题讨论】:
-
这应该是 lambda 函数的用例吗?
-
get_val = lambda key: dict_name.get(key, '')
-
这就是函数的用途。
-
@shravster 如果要将 lambda 函数分配给名称,不妨改用
def。 -
为什么
dict_name.get('key1', '')不够用?