python使用map函数,循环列表取某字段和固定值取差值绝对值,获取绝对值最小的一列

python使用map函数,循环列表取某字段和固定值取差值绝对值,获取绝对值最小的一列

##需求
当前有一个list列表,其中第八个字段是时间戳,如下:
[(–, --, --, --, --, --, --, 1555052267, --),(–, --, --, --, --, --, --, 1555052255, --)],现在有一个固定的时间戳比如1555052266,需求是希望得到列表中时间戳和给定的1555052266最接近的那列,也就是差值绝对值最小。

用到的函数

1、map() 函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
2、lambda () 函数
lambda 函数相当于一个匿名函数,顾名思义就是不用取名字的函数,相当于现实中的匿名信。匿名函数有个限制,只能有一个表达式,不用写 return,返回值就是该表达式的结果。

代码实现

 def get_near_time_data(self, f_time, time_match_list):
        # 定义一个空列表存放时间戳最接近的数据
        time_match_list_new = []
        if len(time_match_list) > 1:
            # 获取差值最小的列表角标
            index_list = list(map(lambda x: abs(int(x[7]) - int(f_time)), time_match_list))
            # 通过获得的角标获得差值最小的列写入返回
            time_match_list_new .append(time_match_list[index_list.index(min(index_list))])
        return time_match_list_new 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值