ee.List.iterate
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
วนซ้ำอัลกอริทึมในรายการ อัลกอริทึมควรรับออบเจ็กต์ 2 รายการ ได้แก่ รายการปัจจุบัน และผลลัพธ์จากการวนซ้ำก่อนหน้าหรือค่าของ first สำหรับการวนซ้ำแรก
การใช้งาน | การคืนสินค้า |
---|
List.iterate(function, first) | วัตถุ |
อาร์กิวเมนต์ | ประเภท | รายละเอียด |
---|
ดังนี้ list | รายการ | |
function | อัลกอริทึม | |
first | วัตถุ | |
ตัวอย่าง
โปรแกรมแก้ไขโค้ด (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.
var quantityList = [1000];
// Define the number of iterations as a list sequence.
var nSteps = 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.
var halfOfPrevious = function(currentElement, previousResult) {
var previousQuantity = ee.Number(ee.List(previousResult).get(-1));
var currentQuantity = previousQuantity.divide(2);
return ee.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
ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap
เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า
สภาพแวดล้อม Python
import ee
import geemap.core as geemap
Colab (Python)
import matplotlib.pyplot as plt
# 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.
def half_of_previous(current_element, previous_result):
previous_quantity = ee.Number(ee.List(previous_result).get(-1))
current_quantity = previous_quantity.divide(2)
return ee.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()
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003e\u003ccode\u003eList.iterate\u003c/code\u003e repeatedly applies a given algorithm to each element of a list, using the previous iteration's result.\u003c/p\u003e\n"],["\u003cp\u003eThe provided algorithm takes two arguments: the current list element and the previous result (or an initial value for the first iteration).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eList.iterate\u003c/code\u003e returns the final result after processing all elements.\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for accumulating values, applying recursive operations, or building complex sequences based on list elements.\u003c/p\u003e\n"]]],[],null,["# ee.List.iterate\n\nIterate 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.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------|---------|\n| List.iterate`(function, first)` | Object |\n\n| Argument | Type | Details |\n|--------------|-----------|---------|\n| this: `list` | List | |\n| `function` | Algorithm | |\n| `first` | Object | |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// This example uses the ee.List.iterate function to generate a series of\n// sequentially halved values.\n\n// Declare a list that will hold the series of sequentially halved values,\n// initialize it with the starting quantity.\nvar quantityList = [1000];\n\n// Define the number of iterations as a list sequence.\nvar nSteps = ee.List.sequence(1, 10);\n\n// Declare a function that takes the current element of the iteration list and\n// the returned result of the previous iteration as inputs. In this case, the\n// the function is returning an accumulating list of quantities that are reduced\n// by half at each iteration.\nvar halfOfPrevious = function(currentElement, previousResult) {\n var previousQuantity = ee.Number(ee.List(previousResult).get(-1));\n var currentQuantity = previousQuantity.divide(2);\n return ee.List(previousResult).add(currentQuantity);\n};\n\n// Apply the function to the nSteps list, each element is an iteration.\nquantityList = ee.List(nSteps.iterate(halfOfPrevious, quantityList));\n\n// Display the results. Note that step 0 is included for the initial value.\nprint('Steps in the iteration of halved quantities', nSteps);\nprint('Series of sequentially halved quantities', quantityList);\nprint(ui.Chart.array.values({\n array: quantityList,\n axis: 0,\n xLabels: ee.List([0]).cat(nSteps)\n}));\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\nimport matplotlib.pyplot as plt\n\n# This example uses the ee.List.iterate function to generate a series of\n# sequentially halved values.\n\n# Declare a list that will hold the series of sequentially halved values,\n# initialize it with the starting quantity.\nquantity_list = [1000]\n\n# Define the number of iterations as a list sequence.\nn_steps = ee.List.sequence(1, 10)\n\n\n# Declare a function that takes the current element of the iteration list and\n# the returned result of the previous iteration as inputs. In this case, the\n# the function is returning an accumulating list of quantities that are reduced\n# by half at each iteration.\ndef half_of_previous(current_element, previous_result):\n previous_quantity = ee.Number(ee.List(previous_result).get(-1))\n current_quantity = previous_quantity.divide(2)\n return ee.List(previous_result).add(current_quantity)\n\n\n# Apply the function to the n_steps list, each element is an iteration.\nquantity_list = ee.List(n_steps.iterate(half_of_previous, quantity_list))\n\n# Display the results.\ndisplay('Steps in the iteration of halved quantities', n_steps)\ndisplay('Series of sequentially halved quantities', quantity_list)\nquantity_list_client = quantity_list.getInfo()\nplt.scatter(range(len(quantity_list_client)), quantity_list_client)\nplt.show()\n```"]]