问题:我想提高对python map函数的理解。我做了一个函数,可以将给定短语中单词的长度作为列表返回。但是,我想简单地将map函数与lambda函数一起使用,并传入一个字符串。另外,我正在使用python 3。

当前功能(WORKS):

phrase = 'How long are the words in this phrase'

def word_lengths(phrase):
    phrase = phrase.split(' ')
    wordLengthList = []
    for i in range(len(phrase)):
        wordLengthList.append(len(phrase[i]))
    return wordLengthList

word_lengths(phrase)


地图的当前实现(无效):

 list(map(lambda x: len(x.split(' ')), phrase))


如果有人可以帮助我解决此问题,我将不胜感激。

最佳答案

您需要为短语变量拆分输入参数。

print(list(map(lambda x: len(x), phrase.split(" "))))


输出:

[3, 4, 3, 3, 5, 2, 4, 6]


从评论:更好的方法。感谢Lukas Graf。

print(list(map(len, phrase.split(" ")))

关于python - 用内置于 map 函数中的python替换函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48623671/

10-10 10:59