python - 如何在没有导入的情况下 2d 截断 3d python 列表
问题描述
没有麻木
所以我在这里有一个 3d 列表:
list = [
[
# red (5 rows x 10 columns)
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
],
[
# green (5 rows x 10 columns)
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
],
[
# blue (5 rows x 10 columns)
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
],
]
基本上,(row,column) 中的每个索引 (x,y) 都是具有 r,g,b 的像素。这个列表有 5x10=50 像素。我想截断它,使列和行达到指定的数量,例如 row=3,column=7,如下所示:
list = [
[
# red (3 rows x 7 columns)
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
],
[
# green (3 rows x 7 columns)
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
],
[
# blue (3 rows x 7 columns)
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
[10, 10, 10, 10, 10, 10, 10],
],
]
解决方案
truncated = [[row[:7] for row in color[:3]] for color in list]
您不应该将list
其用作变量名,因为您正在覆盖内置函数list
,这可能会导致之后代码出现意外行为
推荐阅读
- c# - .NET Core - RequireHttpsAttribute 在带有 Apache2 的 Ubuntu 上导致 ERR_TOO_MANY_REDIRECTS
- java - 在 RabbitMQ 中发布时提供不正确的(不存在的)队列名称
- c# - Json将字符串转换为集合
- loops - VHDL循环只考虑一位
- python-sphinx - csv表格单元格中的双引号
- ios - 如何以编程方式在视图控制器之间传递数据?我想将我的 UITextfield 数据传递给另一个视图控制器
- visual-studio - 我可以使用 Visual Studio Offline 吗?
- unit-testing - 在最小起订量单元测试中如何修复“对象引用未设置为对象实例”
- c++ - 字符串析构函数中的读取访问冲突
- r - 在 Arch Linux 下重新安装 R 包“ddalpha”时出现“无法分配内存”