如何使用函数将25个列表分成5个单独行中的5个5 [重复]

问题描述 投票:1回答:2

这个问题在这里已有答案:

我需要将我的25个整数的随机列表变成5个5个不同行的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块的代码。我知道lx.split不能工作,因为它是一个列表,我不能使用\来逐行拆分它们。所以我不确定如何将5个块分成5个单独的行。除非我错过了它,我的(潜在的重复)和另一个问题之间的区别在于我有一个已经生成的随机数列表,而不是试图列出我将所有数字转换为25我已分成5块不同的线条。

python
2个回答
1
投票

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

for chunk in chunks:
    print(chunk)

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


0
投票

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

[print(a[i*5:i*5+5]) for i in range(5)];
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.