Python 如何使用函数将一个25行的列表转换为5行5块

Python 如何使用函数将一个25行的列表转换为5行5块,python,Python,我需要把我的25个整数的随机列表变成5个5块的5个不同的行 import random def fill(nx, x, y): lx = [] j = 0 while (j < nx): r = random.randint(x, y) if r not in lx: lx.append(r) j = j + 1 return lx def chunks(l, n):

我需要把我的25个整数的随机列表变成5个5块的5个不同的行

import random
def fill(nx, x, y):
    lx = []
    j = 0
    while (j < nx):
        r = random.randint(x, y)
        if r not in lx:
            lx.append(r)
            j = j + 1
    return lx


def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]


def display(lx):
    lx = list(chunks(lx, 5))
    print(lx)

n = 25
a = 10
b = 50
# myList = []
myList = fill(n, a, b)
display(myList)
我找到了一种方法,可以将列表分成5行,但我不确定如何将它们分成5行

import random
def fill(nx, x, y):
    lx = []
    j = 0
    while (j < nx):
        r = random.randint(x, y)
        if r not in lx:
            lx.append(r)
            j = j + 1
    return lx


def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]


def display(lx):
    lx = list(chunks(lx, 5))
    print(lx)

n = 25
a = 10
b = 50
# myList = []
myList = fill(n, a, b)
display(myList)
随机导入
def加注(nx、x、y):
lx=[]
j=0
而(j
这就是获取5的块的代码。我知道lx.split不起作用,因为它是一个列表,我不能使用\逐行拆分它们。因此,我不确定如何将5个块放到5个单独的行中。
除非我遗漏了它,否则我的(潜在重复)和另一个问题之间的区别是,我有一个已经生成的随机数列表,而不是试图列出所有的数字,我将我的25个数字分成了5行

您可以遍历块列表并打印出每个块:

for chunk in chunks:
    print(chunk)

每次调用print函数时,它都会自动插入换行符。

一行选项,仅用于25个项目和5行5个区块:

[print(a[i*5:i*5+5]) for i in range(5)];

同意@recnac关于复制的意见。另外,作为一个选项查看
numpy.reformate()
。如果分块对你的问题不重要,那么就把它解决掉。有关更多指针,请参阅。