from operator import methodcaller
from itertools import takewhile, dropwhile
def complement(func):
def wrapper(*args, **kwargs):
return not func(*args, **kwargs)
return wrapper
def lengthOfLastWord(s: str) -> int:
space = methodcaller("isspace")
word = takewhile(complement(space), dropwhile(space, s[::-1]))
return len(list(word))
print(lengthOfLastWord(" fly me to the moon "))
ZnJvbSBvcGVyYXRvciBpbXBvcnQgbWV0aG9kY2FsbGVyCmZyb20gaXRlcnRvb2xzIGltcG9ydCB0YWtld2hpbGUsIGRyb3B3aGlsZQoKZGVmIGNvbXBsZW1lbnQoZnVuYyk6CiAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2FyZ3MpOgogICAgICAgIHJldHVybiBub3QgZnVuYygqYXJncywgKiprd2FyZ3MpCiAgICByZXR1cm4gd3JhcHBlcgoKZGVmIGxlbmd0aE9mTGFzdFdvcmQoczogc3RyKSAtPiBpbnQ6CiAgICBzcGFjZSA9IG1ldGhvZGNhbGxlcigiaXNzcGFjZSIpCiAgICB3b3JkID0gdGFrZXdoaWxlKGNvbXBsZW1lbnQoc3BhY2UpLCBkcm9wd2hpbGUoc3BhY2UsIHNbOjotMV0pKQogICAgcmV0dXJuIGxlbihsaXN0KHdvcmQpKQoKcHJpbnQobGVuZ3RoT2ZMYXN0V29yZCgiIGZseSBtZSB0byB0aGUgbW9vbiAiKSk=