gpt4 book ai didi

python - 函数式编程方法,或大多数 Pythonic 方法,一次使用两个相邻变量遍历数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:24 25 4
gpt4 key购买 nike

考虑以下问题:给定一个整数数组,返回数组递减的次数。所以 [3,2,1] 减少了两次(在 3 和 2); [1,2,3,4,5,4,3,2,1] 减少了 4 次(在 5, 4, 3, 2),而 [1] 没有减少。

在任何语言的 for 循环中解决这个问题都非常容易:

int result = 0;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i+1]) result += 1;
}

我只知道如何使用 for 或 while 循环并跟踪索引来解决这个问题。我不知道使用像 map 这样的方法或使用列表或理解的任何功能方式,但这是我希望存在的。

最佳答案

一个很好的方法是使用 zip结合sum的方法:

sum(a > b for a, b in zip(array, array[1:]))

关于python - 函数式编程方法,或大多数 Pythonic 方法,一次使用两个相邻变量遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com