LAMBDA是混淆了我一點點,這裏是我的本錢:功能VS拉姆達聲明
lmb = lambda d: datetime.datetime.strptime(d["Date[G]"]+"-"+d["Time[G]"], "%d-%b-%Y-%H:%M:%S.%f")
如果我寫這樣的功能:
def time(d):
t = datetime.datetime.strptime(d["Date[G]"]+"-"+d["Time[G]"], "%d-%b-%Y-%H:%M:%S.%f")
return t.strftime("%d-%b-%Y-%H")
我可以return t.strftime("%d-%b-%Y-%H")
。
我可以在我的lambda語句中嵌入類似t.strftime("%d-%b-%Y-%H")
的事情嗎?
編輯
I`ve嘗試這樣做:
lmb = lambda d: datetime.datetime.strptime(d["Date[G]"]+"-"+d["Time[G]"], "%d-%b-%Y-%H:%M:%S.%f").strftime("%d-%b-%Y-%H")
但它返回:
AttributeError: 'str' object has no attribute 'strftime'
不使用功能發生..
感謝的是,我已經編輯了問題 –
我可以用一個函數,但我真的使用拉姆達聲明是這樣的:在itertools.groupby對於k,G(csvReader,鍵= LMB) –
@Fingertwist我複製/粘貼你的新版本,我沒有得到錯誤。您可以將函數傳遞給groupby,函數和lambda完全相同。 –