2017-02-16 37 views
-2

我要運行,只要有大於3如何在python中運行while循環,而x或不在列表中?

所以例如在我的列表中的任意值while循環:

while 3 or greater not in list: 
    run loop 

有什麼絕招來實現此操作而無需創建另一個循環來檢查這個?

感謝

編輯:

感謝suggetions。我實際上正在檢查2D numpy陣列。我最終作出這樣的:

tilemap = np.zeros((mapheight, mapwidth), dtype = np.int) 

while max(tilemap.ravel()) > 3: 
    run loop 
+0

確保使用編程語言標記您的問題。否則很難給你一個具體的迴應。你有沒有嘗試過查看該語言的基本教程? – Praveen

+0

我剛纔也注意到了,謝謝。我環顧四周,但無法找到任何東西。 – Tea

+2

你有沒有考慮過使用內建的['max'](https://docs.python.org/2/library/functions.html#max)函數? – Hamms

回答

2

你可能尋找這些方針的東西:

while any(i >= 3 for i in l): 
    # Do something 

例如:

l = [4, 6, 2, 1, 0, 7, 9] 
while any(i >= 3 for i in l): 
    l.remove(max(l)) 
print(l) 

就剩下

[2, 1, 0] 
相關問題