0

前面的问题中,函数不能在字典对象中内联定义。

但是,我只有这个简单的案例,

def getExtension(fileName):
    return os.path.splitext(fileName)[1]

funcDict = { 
    'EXT': getExtension,  # maybe os.path.splitext[1]?
    }

print(funcDict['EXT']('myFile.txt'))

有没有办法指定我只想要返回的元组的一个元素,os.path.splitext这样我就可以摆脱定义getExtension

4

2 回答 2

2
funcDict = {
    'EXT': (lambda x: os.path.splitext(x)[1])
}
于 2014-03-17T21:40:19.197 回答
1

我有时最好使用关键字参数来实例化一个新的字典,因为关键字参数似乎更具可读性。

funcDict = dict(EXT=(lambda x: os.path.splitext(x)[1]))

这将返回:

{'EXT': <function <lambda> at 0x00000000021281E0>}
于 2014-03-17T22:56:29.383 回答