ee.List.iterate Stay organized with collections Save and categorize content based on your preferences.
Page Summary
The
iteratefunction 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.
The
iteratefunction returns an object which is the result of the final iteration.
| Usage | Returns |
|---|---|
List.iterate(function, first) | Object |
| Argument | Type | Details |
|---|---|---|
this:list | List | |
function | Algorithm | |
first | Object |
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.