我们在数学中进行加减运算,两个数相减就可以得到差。今天小编就带来一个新问题,函数取差。有的小伙伴会很困惑,函数是一群英文使用,又不是数字怎么还能进行取差呢?这里也算是学习python有趣的地方,函数取差在python中是完全可以实现的。接下来我们就一起学习python3函数取差的代码吧。
通过函数取差
如下方法首先会应用一个给定的函数,然后再返回应用函数后结果有差别的列表元素。
def difference_by(a, b, fn): b = set(map(fn, b)) return [item for item in a if fn(item) not in b] from math import floor difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2] difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x']) # [ { x: 2 } ]
拓展:链式函数调用
你可以在一行代码内调用多个函数。
def add(a, b): return a + b def subtract(a, b): return a - b a, b = 4, 5 print((subtract if a > b else add)(a, b)) # 9
以上就是用函数取差的代码了,需要我们指定一个函数进行操作。同时我们还会发现,链式函数室由不同的函数调用组成的,是不是比较有趣呢~更多Python学习指路:。