python - 如何在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]]
数组必须是正方形并且由连续整数组成。
解决方案
您可以使用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]]
推荐阅读
- vb.net - 为什么Splitter的位置设置这么难?
- python - 如何仅比较数据框的架构?
- ruby-on-rails - 根据保存的值过期缓存
- java - 部署后的 Apache Storm JAR 访问
- java - 如何在 JRE javaetk 1.4.2 中使用 HashMap
- java - 有没有办法在运行时更改火花作业的日志级别?
- javascript - 如何从作为目标元素的表中获取值?
- matlab - 如何检测图像中的所有矩形?
- c++ - 以符合 C++ 标准的方式实现 std::malloc
- javascript - 如何在nodeJs中使用pdfKit在pdf中插入卢比货币符号?