簡體   English   中英

Python中如何轉換循環

[英]How to convert loop in Python

我有以下代碼

for (int i = 0; 1 < array.length; i++) { 
for (int j = i + 1; j < array.length; j++) { 

我應該如何將其轉換為 Python 語言?

那是兩個嵌套循環。 你可以直接翻譯成Python,如果你願意:

for i in range(len(array)):
    for j in range(i+1, len(array)):
       ...

但是在 Python 中迭代索引通常是不必要的,除非您出於某種原因需要索引不是索引以從數組中獲取值。 如果您只想要成對的項目,請使用itertools.combinations

for i_item, j_item in itertools.combinations(array, 2):
    ...

這只是兩個嵌套的 for 循環,您可以像這樣在 Python 中執行等效操作:

array = [1,2,3,4,5]

for i in range(len(array)):
    for j in range(i + 1, len(array)):
        #code

外部for循環使用范圍 function 和 len function 遍歷數組以獲取數組的長度。 內部 for 循環執行相同的操作,但從索引 i+1 開始,並使用相同的范圍 function 上升到數組的末尾。

另一種方法是使用內置的enumerate() function 同時獲取索引和元素,如下所示:

    for i, _ in enumerate(array):
        for j in range(i + 1, len(array)):
            #code
for i in range(len(array)):
    for j in range(i + 1, len(array)):
        #code

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM