统计input_list中以' S '开头的单词的个数



我想通过只使用map函数和lambda函数来计算单词的数量

这是我写的代码

input_list = ['San Jose', 'San Francisco', 'Santa Fe', 'Houston']
len(list(map(lambda word:word if word[0]=="S",input_list)))

但是,这会抛出如下错误

File "/code/source.py3", line 5
count = len(list(map(lambda word:word if word[0]=="S",input_list)))
^
SyntaxError: invalid syntax

如果您坚持使用map(),那么使用sum()可能会起作用:

input_list = ['San Jose', 'San Francisco', 'Santa Fe', 'Houston']
count = sum(map(lambda word:word[0]=="S", input_list))

请注意,word[0]=="S"计算为TrueFalse,当与sum()一起使用时,将转换为10resp。

len([x for x in input_list if x.startswith('S')])

或者您可以这样做sum(map(lambda x:x.startswith("S"), input_list))

最新更新