我写了一个显示列表的代码。
import random
def Rand(start, end, num):
res = []
for j in range(num):
res.append(random.randint(start, end))
return res
num = 9
start = 1
end = 100
numbers = [(Rand(start, end, num))]
print(numbers)
输出为列表中的9个随机数。
[[10, 32, 86, 84, 46, 91, 71, 52, 7]]
我想在3x3 2D数组中打印随机数。
10 32 86
84 46 91
71 52 7
答案 0 :(得分:0)
我将跳过随机化部分,因为它与您的问题无关。通常,要将列表分成n
个大小的块,您可以在n
步骤中迭代索引的同时简单地对列表进行切片:
numbers = [10, 32, 86, 84, 46, 91, 71, 52, 7]
n = 3
print([numbers[i:i+n] for i in range(0, len(numbers), n)])
这将输出:
[[10, 32, 86], [84, 46, 91], [71, 52, 7]]
或者如果您希望输出看起来像3x3 2D阵列:
print('\n'.join(' '.join(map(str, numbers[i:i+n])) for i in range(0, len(numbers), n)))
这将输出:
10 32 86
84 46 91
71 52 7
请注意,您问题中的numbers
变量包含数字列表的列表,而不是数字列表。您应该改为进行分配numbers = Rand(start, end, num)
,而不必将其放在另一个列表中。