【发布时间】:2020-02-08 14:56:25
【问题描述】:
我有一个硬件问题,需要通过机场列表并使用 lambda 表达式找到最佳和最差准点记录。
该列表包含两列 Airport Name 和 Delay Departure。
因此,如果Departure Departure > 0,我们计为1 次延迟,否则我们计为准时。 如何使用 lambda 表达式做到这一点?
for x in data:
if airport != x.Orig:
continue
delay = list(map(lambda x: x.Orig = airport and x.DepDelay > 0, data))
print(len(delay))
ontime = list(map(lambda x: x.Orig = airport and x.DepDelay == 0, data))
print(len(ontime))
perf = ontime / (ontime +delay)
if perf < minPerf:
minAiport = airport
minPerf = perf
if perf > maxPerf:
maxAirport = airport
maxPerf = perf
我希望 lambda 表达式能够识别机场名称及其延误和准点频率。然后我可以通过 max 和 min 找出哪些机场的性能最好和最差。
例如,airportA 是最好的,性能: 机场B是最差的,性能:
【问题讨论】:
-
您可以添加示例数据吗?不确定“列表包含两列”是什么意思。
-
你的意思是延迟 = list(map(lambda x: x.Orig == airport and x.DepDelay > 0, data))。您使用一个等号进行逻辑比较
-
另外,您当前的代码有什么问题?
-
对不起...我的意思是该文件包含两列(机场名称和延误时间)。我必须通过文件找到机场的最佳和最差性能及其性能。
标签: python python-3.x list oop lambda