我有一個長度約為 90 的串列,我想進行迭代,以便每次迭代時有 5 個物件具有不同的值,在每次集成時,我都會列印以查看元素,如下所示:
L= ["a","b","c","d","e","f","g","h","i","j"]
loop....
print(first,second,third,fourth,fifth)
>>> "a" , "b" , "c" , "d" , "e" -> first iteration
>>> "f","g","h","i","j" -> second iteration
我該如何繼續?
uj5u.com熱心網友回復:
如果您不確定list可以使用的長度,請itertools.cycle使用islice如下所示:
import math
from itertools import cycle , islice
L = ["a","b","c","d","e","f","g","h"]
i = cycle(L)
slc = 5
for _ in range(math.ceil(len(L)/slc)):
print(list(islice(i,slc)))
輸出:
['a', 'b', 'c', 'd', 'e']
['f', 'g', 'h', 'a', 'b']
如果您確定可以使用的長度itertools.islice并獲得您想要的內容,如下所示:
from itertools import islice
L = ["a","b","c","d","e","f","g","h","i","j"]
i = iter(L)
slc = 5
for _ in range(len(L)//slc):
print(list(islice(i,slc)))
輸出:
['a', 'b', 'c', 'd', 'e']
['f', 'g', 'h', 'i', 'j']
uj5u.com熱心網友回復:
L = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
for i in range(0, len(L), 5):
print(L[i:i 5])
['a', 'b', 'c', 'd', 'e']
['f', 'g', 'h', 'i', 'j']
uj5u.com熱心網友回復:
如果你知道串列的長度是 5 的乘積,那么你可以使用下面的
for index in range(0,len(L),5):
first=L[index]
second=L[index 1]
third=L[index 2]
fourth=L[index 3]
fifth=L[index 4]
print(first,second,third,fourth,fifth)
如果不是,并且您也希望列印其余的 fo,則可以使用以下代碼:
for index in range(0,len(L),5):
if index 5>len(L):
print(" ".join(L[index:]))
else:
print(" ".join(L[index:index 5]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/348935.html
上一篇:如何計算串列中的唯一元組?
下一篇:n維陣列元素的Python組合
