例如,给定列表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整除的数组时,你如何处理左边的边界? –