簡體   English   中英

如何在 Python for 循環中使用多個變量?

[英]How to use multiple variables inside the Python for loop?

我是一個 Java 的家伙,目前正在學習 Python。 我被困在如何在 Python for 循環中使用多個條件。

這是 Java 代碼

for (int r = n-1, s = k+1; r > s; r--, s++)
    // some code 

如何將其轉換為 Python for-loop?

這可以最好地實現為一個while循環。 它比 Java 更冗長,但也更 Pythonic,在我個人看來,更具可讀性:

r = n - 1
s = k + 1
while r > s:
    # some code
    r -= 1
    s += 1

更新:您可以使用for循環,但它不那么漂亮:

p = (k + n) // 2
for r, s in zip(range(n - 1, p, -1), range(k + 1, p + 1)):
    # some code

如果你堅持使用 for 循環,你可以創建一個生成器:

def gen(n, k):
    r = n - 1
    s = k + 1
    while r > s:
        yield (r, s)
        r -= 1
        s += 1

for x in gen(n, k):
    #some code

#alternatively:
for x, y in gen(n, k):
    #some code

暫無
暫無

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

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