【发布时间】:2022-11-04 14:40:49
【问题描述】:
我有一个像这样的python 2D数组:
array = [('aaa', 20), ('bbb', 30), ('ccc', 40), ('ddd', 50)]
我想根据每组中的第二个值过滤这个数组。 例如,我只想保留具有第二项 >= 40
预期输出:
filtered_array = [('ccc', 40), ('ddd', 50)]
我可以通过循环来实现这一点,但有没有一种优雅的过滤方式?
【问题讨论】:
-
[i for i in array if i[1]>=40] -
谢谢,它仍然使用 for 循环。
-
好吧,我想不出一个合乎逻辑的方法,这将使这成为可能。您需要检查每个元素的第二个元素。如果不遍历每个元素,您如何认为这是可能的?
-
您有一个元组列表,而不是二维数组。
-
如果您没有 numpy 数组,为什么要使用
numpy标签?