Python - Inline从委托中获取元组的一个成员

时间:2014-03-17 21:37:48

标签: python tuples inline-functions

来自a previous question的函数无法在字典对象中内联定义。

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

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的问题?

2 个答案:

答案 0 :(得分:2)

funcDict = {
    'EXT': (lambda x: os.path.splitext(x)[1])
}

答案 1 :(得分:1)

我认为使用关键字参数来实例化一个新的dict有时会更好,因为关键字参数看起来更具可读性。

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

将返回:

{'EXT': <function <lambda> at 0x00000000021281E0>}