例如,給定列表1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8
和數字4,它返回長度爲4的列表的列表,即 (1, 2, 3, 4), (5, 6, 7, 8), (1, 2, 3, 4), (5, 6, 7, 8)
。Powershell將一個長陣列分成長度爲N的數組在一行中?
基本上我想在Powershell中實現下面的Python代碼。
s = 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8
z = zip(*[iter(s)]*4) # Here N is 4
# z is (1, 2, 3, 4), (5, 6, 7, 8), (1, 2, 3, 4), (5, 6, 7, 8)
以下腳本返回的17代替5.
$a = 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,0
$b = 0..($a.Length/4) | % { @($a[($_*4)..($_*4 + 4 - 1)]) }
$b.Length
很好的解決方案。你將如何處理N個不能被N整除的元素?在這種情況下是4。 $ a = 1..18 –
@DougFinke創建一個變量'$ n = 4',並用'$ n'替換所有的4s應該可以工作。 – ca9163d9
同意。我想我問的是。當你有一組不可被N整除的數組時,你如何處理左邊的邊界? –