如何在Python中打印具有指定列宽的列表?

Jas*_*uCC 2 python

我有一个清单

mylist = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
Run Code Online (Sandbox Code Playgroud)

如何打印具有指定列宽的列表

例如,我想打印column = 5然后换行

print(mylist, column= 5)
[ 1,  2,  3,  4,  5, 
  6,  7,  8,  9, 10, 
 11, 12, 13, 14, 15, 
 16, 17, 18, 19, 20]
Run Code Online (Sandbox Code Playgroud)

或者我想打印column = 10然后换行

print(mylist, column= 10)
[ 1,  2,  3,  4,  5, 6,  7,  8,  9, 10, 
 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用for循环来做到这一点,但我想知道是否有一个函数已经这样做了?

tim*_*geb 5

使用numpy数组而不是列表并重塑数组.

>>> import numpy as np
>>> array = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])
>>>
>>> column = 5
>>> print(array.reshape(len(array)/column, column))
[[ 1  2  3  4  5]
 [ 6  7  8  9 10]
 [11 12 13 14 15]
 [16 17 18 19 20]]
>>>>>> column = 10
>>> print(array.reshape(len(array)/column, column))
[[ 1  2  3  4  5  6  7  8  9 10]
 [11 12 13 14 15 16 17 18 19 20]]
Run Code Online (Sandbox Code Playgroud)

当然,ValueError如果无法划分arraycolumn相同大小的列,则会抛出一个.