python - 如何从二维列表中提取值列表
问题描述
如何从二维列表中提取满足某些条件的值列表?
如何摆脱空列表和多余的括号?
my_list = [[(i,j) for i in list_ if i == 1] for j,list_ in enumerate(grid)]
解决方案
使用列表理解:
grid = [[10,13,17],[3,5,1],[13,1,12]]
results = [(i, b) for b in range(len(grid)) for i, a in enumerate(grid[b]) if a == 1]
输出:
[(2, 1), (1, 2)]
推荐阅读
- python - 将一个 csv 文件抑制到另一个值包含特定字符串的文件
- c# - 单元测试不会运行:由于 StackOverflowException 导致进程终止
- javascript - 单击按钮时显示/隐藏 div:未按预期工作?
- c++ - 为什么类构造函数中的参数不变?
- android - Facebook 用户的个人资料图片 URL 在 PICASSO 中不起作用
- twitter-bootstrap - Bootstrap 3 水平 dl:如何更改 dt 宽度?
- android - 自定义TextView无法设置重力
- point-cloud-library - 点云库:将点云添加到 PCL Visualizer 查看器时出错
- angular - 使用 auth.service 进行路由保护
- python - 删除/更改日志文件的路径会引发错误。我该如何忽略或解决这个问题?