naz*_* bu 5 python list python-3.x
我试图想出一个函数,它接受一个输入x并将一个大的列表与元素x*x的数量分成x个较小的列表,每个列表中包含x个元素,例如:
big_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
def split_list (x):
big_list = pairs (x)
small_list = [big_list[0:x] for x in range (x)]
Run Code Online (Sandbox Code Playgroud)
我的输出必须是:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Run Code Online (Sandbox Code Playgroud)
但是我没有得到它,你推荐什么?
你可以试试这个:
big_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
def split_list (x):
return [big_list[i:i+x] for i in range(0, len(big_list), x)]
print(split_list(4))
Run Code Online (Sandbox Code Playgroud)
输出:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Run Code Online (Sandbox Code Playgroud)
我一直使用这个代码。
def chunkify(items, chunk_len):
return [items[i:i+chunk_len] for i in range(0,len(items),chunk_len)]
Run Code Online (Sandbox Code Playgroud)