我正在嘗試檢查串列中的前 5 個元素,查看兩個或更多元素是否大于或等于 5,然后使用相同的程序檢查接下來的 5 個元素。
我通過創建一個新串列并附加接下來的 5 個元素來實作這一點:
from itertools import islice
myList = [3, 7, 3, 1, 2, 3, 6, 75, 77, 4]
print(sum(i>5 for i in islice(myList, 5)) >= 2)
newlist = myList[5:]
print(sum(i>5 for i in islice(newlist, 5)) >= 2)
有沒有辦法遍歷原始串列,一次檢查 5 個元素而不創建新串列?
uj5u.com熱心網友回復:
您可以在第 5 步中使用范圍
myList = [3, 7, 3, 1, 2, 3, 6, 75, 77, 4]
for i in range(0, len(myList), 5):
if sum(v > 5 for v in myList[i:i 5]) > 1:
print(f'Chunk {i}->{i 5} has two or more values greater than 5')
輸出:
Chunk 5->10 has two or more values greater than 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/525168.html
上一篇:在特定條件下從字典串列中洗掉字典
