Мне нужно превратить мой случайный список из 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 разные линии.
опция одной строки, только для 25 элементов и 5 строк из 5 блоков:
[print(a[i*5:i*5+5]) for i in range(5)];
Вы можете просмотреть список фрагментов и распечатать каждый из них:
for chunk in chunks:
print(chunk)
Функция печати автоматически вставляет символ новой строки каждый раз, когда он вызывается.
numpy.reshape()
как вариант. подробности здесь