Python 制作一个数组,每个数组包含10项
我有一个数组,它有X个值 我正在尝试创建一个数组,每个数组包含10个X项。我如何继续这样做 我试着在迭代的时候使用一个计数,我只是说我没有得到任何结果 我想要像这样的东西Python 制作一个数组,每个数组包含10项,python,python-3.x,Python,Python 3.x,我有一个数组,它有X个值 我正在尝试创建一个数组,每个数组包含10个X项。我如何继续这样做 我试着在迭代的时候使用一个计数,我只是说我没有得到任何结果 我想要像这样的东西 #20项的随机列表 随机数组=[1,…20] #在这里做些很酷的事情 #做了一件很酷的事情后输出 花式数组=[[1,…10],[11,…20]] Python的itertools模块在这里可能会有所帮助。具体来说,石斑鱼配方 请参阅中的配方,但我已在此处复制了相关的配方: def grouper(iterable, n, fi
#20项的随机列表
随机数组=[1,…20]
#在这里做些很酷的事情
#做了一件很酷的事情后输出
花式数组=[[1,…10],[11,…20]]
Python的itertools
模块在这里可能会有所帮助。具体来说,石斑鱼
配方
请参阅中的配方,但我已在此处复制了相关的配方:
def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return itertools.zip_longest(*args, fillvalue=fillvalue)
您可以在长度为
n
的列表中拆分列表l
,如下所述:
简单地做:
fancy_array = [random_array[i:i+10] for i in range(0, len(random_array), 10)]
解释
生成一个包含初始索引值的范围,其中列表必须被分割。因为它应该是10比10,所以函数的第三个参数是10(称为步骤)range(0,len(random_array),10)
在初始位置random_array[i:i+10]
和最终位置i
将列表切片到函数i+10
范围生成的每个值
fancy_array = [random_array[i:i+10] for i in range(0, len(random_array), 10)]