Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.

ee.List.iterate

  • Theiterate function applies an algorithm over a list, taking the current item and the result of the previous iteration as inputs.

  • The function to be applied to each list element and an initial value for the first iteration are required arguments.

  • Theiterate function returns an object which is the result of the final iteration.

Iterate an algorithm over a list. The algorithm is expected to take two objects, the current list item, and the result from the previous iteration or the value of first for the first iteration.

UsageReturns
List.iterate(function, first)Object
ArgumentTypeDetails
this:listList
functionAlgorithm
firstObject

Examples

Code Editor (JavaScript)

// This example uses the ee.List.iterate function to generate a series of// sequentially halved values.// Declare a list that will hold the series of sequentially halved values,// initialize it with the starting quantity.varquantityList=[1000];// Define the number of iterations as a list sequence.varnSteps=ee.List.sequence(1,10);// Declare a function that takes the current element of the iteration list and// the returned result of the previous iteration as inputs. In this case, the// the function is returning an accumulating list of quantities that are reduced// by half at each iteration.varhalfOfPrevious=function(currentElement,previousResult){varpreviousQuantity=ee.Number(ee.List(previousResult).get(-1));varcurrentQuantity=previousQuantity.divide(2);returnee.List(previousResult).add(currentQuantity);};// Apply the function to the nSteps list, each element is an iteration.quantityList=ee.List(nSteps.iterate(halfOfPrevious,quantityList));// Display the results. Note that step 0 is included for the initial value.print('Steps in the iteration of halved quantities',nSteps);print('Series of sequentially halved quantities',quantityList);print(ui.Chart.array.values({array:quantityList,axis:0,xLabels:ee.List([0]).cat(nSteps)}));

Python setup

See the Python Environment page for information on the Python API and usinggeemap for interactive development.

importeeimportgeemap.coreasgeemap

Colab (Python)

importmatplotlib.pyplotasplt# This example uses the ee.List.iterate function to generate a series of# sequentially halved values.# Declare a list that will hold the series of sequentially halved values,# initialize it with the starting quantity.quantity_list=[1000]# Define the number of iterations as a list sequence.n_steps=ee.List.sequence(1,10)# Declare a function that takes the current element of the iteration list and# the returned result of the previous iteration as inputs. In this case, the# the function is returning an accumulating list of quantities that are reduced# by half at each iteration.defhalf_of_previous(current_element,previous_result):previous_quantity=ee.Number(ee.List(previous_result).get(-1))current_quantity=previous_quantity.divide(2)returnee.List(previous_result).add(current_quantity)# Apply the function to the n_steps list, each element is an iteration.quantity_list=ee.List(n_steps.iterate(half_of_previous,quantity_list))# Display the results.display('Steps in the iteration of halved quantities',n_steps)display('Series of sequentially halved quantities',quantity_list)quantity_list_client=quantity_list.getInfo()plt.scatter(range(len(quantity_list_client)),quantity_list_client)plt.show()

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-06-05 UTC.