如果满足条件,如何将额外变量传递给函数
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'
假设我有以下 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'