python - 如何在python 3中同时删除嵌套列表的行和列
问题描述
我需要一点帮助...我需要使用行数和列数(python 3.8)从嵌套列表中同时删除列和行。有没有一种简单的方法可以做到这一点?
L = [[1,2,3], [4,5,6],[7,8,9]]
(行=0,列=1);
newL = [[5,6],[7,8]]
解决方案
嵌套列表理解而不修改原始列表
def remove_row_col(L, row, col):
if row not in range(len(L)):
return
if col not in range(len(L[0])):
return
return [[c for c in r[:col] + r[col + 1 :]] for r in L[:row] + L[row + 1 :]]
使用示例
if __name__ == "__main__":
L = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(remove_row_col(L, 0, 1))
print(remove_row_col(L, 1, 1))
print(remove_row_col(L, 1, 2))
print(remove_row_col(L, 1, 3))
输出
[[4, 6], [7, 9]]
[[1, 3], [7, 9]]
[[1, 2], [7, 8]]
None
或者您可以删除行并迭代 col(将修改数组)
del L[row]
for r in L:
del r[col]
推荐阅读
- multithreading - Local variable can be mutated from child threads in Scala
- angular - 程序“ng”未能运行
- checkbox - Material-UI 复选框和单选按钮看起来很丑
- c++ - 如何在winapi中获取驱动器的文件系统信息?
- python-3.x - 如何在 django 的管理员中将此模型转换为不可编辑的模型?
- android - 如果没有从方向旋转重新创建活动,如何执行代码?
- spring-data-jpa - JPA 中的联合和使用别名
- c# - Reference.svcmap:无法加载文件或程序集“Microsoft.SqlServer.SqlEnum,
- typescript - 解析错误:将文件重命名为 ts 后应出现“>”
- java - Spring-boot WebMvcTest,当我提供一个模拟的UserDetailsService时,为什么我会得到这个NullPointer?