首页 > 解决方案 > 如何在python中创建一个整数平方列表?

问题描述

给定一个整数输入,我正在尝试创建一个方阵。

例如:

# for n=3
m = [[1, 2, 3], [4, 5, 6],[7, 8, 9]] 

我的尝试:

m = list(list(range(1*i,(n+1)*i,i)) for i in range(1,n+1))
print(m)

打印此结果:

[[1, 2, 3], [2, 4, 6], [3, 6, 9]]

数组必须是正方形并且由连续整数组成。

标签: pythonlist

解决方案


您可以使用itertools.count创建一个产生升序数字的迭代器,然后使用该函数在嵌套列表next推导中推进该迭代器:

import itertools

n = 3

itr = itertools.count(1)  # start counting at 1
matrix = [[next(itr) for _ in range(n)] for _ in range(n)]
# result: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

推荐阅读