小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/guess-numbers
Code:
class Solution:
def game(self, guess, answer):
return sum(map(lambda x,y: x == y,guess,answer))
敲黑板:
1. lambda:
语法:lambda 参数列表:表达式(或者函数)
无需 return ,返回值为表达式结果或函数返回值。
2. map():
语法:map(func,[arg]+)
map函数至少有两个参数,第一个参数为函数,[arg]为与func相关的参数(可以理解为参数列表的长度==func所需参数个数)。
作用:将[arg]中的元素逐个执行func操作。
Eg:
def func(x,y):
return x+y
lambda x,y: x+y
# python2中map()返回一个列表,python3中map()返回的是一个iterable,<map object at 0x***>
list(map (func,[1,2,3],[1,2,3]))
>>>[2, 4, 6]
list(map(lambda x,y: x+y,[1,2,3],[1,2,3]))
>>>[2, 4, 6]
在使用中,map和匿名函数同框出镜的频率还是蛮高的。