如果满足条件,如何将额外变量传递给函数

How to pass extra variable to function if conditions are met

假设我有以下 python 代码:

hp = 0
if 'header' is in paramdict.keys():
    hp = paramdict['header']
mydf = [pd.read_excel(xlsx, sheet, header = hp) for sheet in xlsx.sheet_names]

我只想通过 header 如果它在 paramdict。 (默认值为 0)

有没有更好的方法来做到这一点,或者更容易看清/占用更少的方法 space?我已经尝试过 fstrings 和 eval,但无法让它们正常工作。

dict 有一个 .get 方法,允许您传递一个默认值,如果 key 不存在 dict

hp = paramdict.get('header', 0)
mydf = [pd.read_excel(xlsx, sheet, header=hp) for sheet in xlsx.sheet_names]

举个例子,

>>> d = {'one': 1, 'two': 2}
>>> d
{'one': 1, 'two': 2}
>>> d.get('one', 'Nope, not here')
1
>>> d.get('three', 'Nope, not here')
'Nope, not here'