我想通过只使用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"
计算为True
或False
,当与sum()
一起使用时,将转换为1
或0
resp。
len([x for x in input_list if x.startswith('S')])
或者您可以这样做sum(map(lambda x:x.startswith("S"), input_list))