繁体   English   中英

在 Python 中将 for 循环转换为 lambda/列表理解

[英]Convert for loop to lambda/list comprehension in Python

我有一个列表 loc_combinations,其长度为 91806 个唯一 ID 对,其结构如下:

[(1,2), (1,3), 1,4)...(452, 454)]

我正在尝试将相同的 function distance_calculator应用于列表中返回单个值(距离)的每一对。 我能够使用 for 循环得到我的答案,但希望有人可以告诉我如何使用 Lambda 和列表理解来做到这一点。

这是for循环:

distance_list = []
for i in range(len(loc_combinations)): 
    distance_list.append(distance_calculator(id1 = loc_combinations[i][0], id2 = loc_combinations[i][1]))

如果您定义了工作 function,则不需要 lambda function。 您作为列表理解的代码如下所示:

distance list = [distance_calculator(x[0], x[1]) for x in loc_combinations]
distance_list = [ distance_calculator(id1=x, id2=y) for x, y in loc_combinations ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM