我的问题类似于how-do-you-break-an-array-in-groups-of-n。
有一个数组:
aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm
被分割为 3 个包含 4 个元素的数组和 1 个包含 1 个元素的数组,以获得输出:
aaa,bbb,ccc,ddd eee,fff,ggg,hhh iii,jjj,kkk,lll mmm
使用以下脚本:
#!/bin/bash
array=(aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk lll mmm)
g=4
for((i=0; i < ${#array[@]}; i+=g))
do
part=( "${array[@]:i:g}" )
echo "Elements in this group: ${part[*]}"
done
我将很感激基于unix的方法如何对数组进行分段以获得以下输出(即10个数组),并且还能够在数组中定义任意数量的元素(即就像上面的脚本):
aaa,bbb,ccc,ddd bbb,ccc,ddd,eee ccc,ddd,eee,fff ddd,eee,fff,ggg eee,fff,ggg,hhh fff,ggg,hhh,iii ggg,hhh,iii,jjj hhh,iii,jjj.kkk iii,jjj,kkk,lll jjj,kkk,lll,mmm
谢谢你。
我只能用Python来做。您必须转换为 c++。
片段:
listA = 'aaa','bbb','ccc','ddd','eee','fff','ggg','hhh','iii','jjj','kkk','lll','mmm'
def matrix_4x4(m,n, sep):
print( "\n".join(map("{}".format(sep).join, (m[i:i+n] for i in range(0, len(m), n)))))
matrix_4x4(listA, 4, ",")
输出:
aaa,bbb,ccc,ddd
eee,fff,ggg,hhh
iii,jjj,kkk,lll
mmm