Python中如何按条件筛选数组:保留第1列值为0的行
如何在Python中筛选数组中第1列值为0的行(无需自定义函数)
嗨,这事儿超简单,用Python内置的列表推导式就能直接搞定,完全不需要自己编写额外的函数,代码简洁又直观。
先看你的原始数组:
original_array = [ [0, 1, 0, 1, 0, 1], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0], [1, 0, 1, 0, 1, 0], [0, 1, 1, 1, 0, 1], [0, 1, 0, 0, 1, 1], [1, 1, 1, 0, 0, 0], [1, 1, 1, 1, 0, 1], [0, 1, 1, 0, 1, 0], [1, 1, 0, 0, 0, 1], [1, 0, 0, 0, 1, 0] ]
筛选的核心代码一行就能搞定:
filtered_array = [row for row in original_array if row[0] == 0]
简单解释:
- 这里用了Python的列表推导式,遍历原始数组里的每一行
row - 判断条件
row[0] == 0:因为Python的索引是从0开始的,你说的“第1列”对应的就是每个子列表的第一个元素,也就是索引0的位置 - 满足条件的行会被自动收集到新的
filtered_array里
运行这段代码后,filtered_array就会只保留所有第1列值为0的行,结果如下:
[ [0, 1, 0, 1, 0, 1], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0], [0, 1, 1, 1, 0, 1], [0, 1, 0, 0, 1, 1], [0, 1, 1, 0, 1, 0] ]
这种方法完全是Python原生的简洁写法,没有依赖任何额外库,也不需要自定义函数,完美符合你的需求~
内容的提问来源于stack exchange,提问作者Kamil Septio Trojnar
相关产品推荐
相关产品推荐

