python3如何实现函数取差

这篇文章主要介绍了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

感谢你能够认真阅读完这篇文章,希望小编分享python3如何实现函数取差内容对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!