將函式改寫為 lambda 運算式
把以下三個以一般方式定義的函式,改寫成 lambda 運算式:
# Returns a bigger of the two numbers
def func1(x, y):
if x >= y:
return x
return y
# Returns a dictionary counting characters in a string
def func2(s):
d = dict()
for c in set(s):
d[c] = s.count(c)
return d
# Returns a squared root of a sum of squared numbers
def func3(*nums):
squared_nums = [n**2 for n in nums]
sum_squared_nums = sum(squared_nums)
return math.sqrt(sum_squared_nums)
本練習屬於課程
Python 程式面試題實作練習
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Convert func1() to a lambda expression
lambda1 = ____
print(str(func1(5, 4)) + ', ' + str(lambda1(5, 4)))
print(str(func1(4, 5)) + ', ' + str(lambda1(4, 5)))