python - 使用理解和范围创建嵌套
问题描述
我正在尝试使用列表理解从范围创建嵌套列表。
到目前为止,我编写了这个for
循环版本。有什么办法可以使用列表理解来做到这一点?
这是我的代码:
matrix = []
start = 1
for x in range(11, 51, 10):
item = list(range(start, x))
matrix.append(item)
start = x
[print(row) for row in matrix]
结果:
[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
[31, 32, 33, 34, 35, 36, 37, 38, 39, 40]]
解决方案
尝试这个:
matrix=[list(range(i*10+1, i*10+11)) for i in range(4)]
>>> print(matrix)
[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40]]
推荐阅读
- mysql - 如何摆脱 Laravel 中的“没有默认值”?
- cassandra - 卡桑德拉 | AttributeError - 'NoneType' 对象没有属性 'is_up'
- api - RapidAPI 有 API 吗?
- c - 使用 memcpy 从数组转换为 int
- swiftui - 无法分配给属性:“自我”在 SettingView 中是不可变的
- vba - 基于先前的组合框写入组合框不起作用
- php - 将多维数组上嵌套数组的数组键从整数更改为字母
- python - 字典项之间的比较
- apache-spark - Spark SQL 返回所有空值,而直接 Hive 有效,通过 Spark 直接 Parquet 有效
- c++ - C++:未处理的异常:内存位置的 std::out_of_range