繁体   English   中英

Python根据第一项从2d数组中删除元素

[英]Python removing elements from a 2d array depending on first item

如果我在python中有一个2d数组,比如说

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]]

我想要一种方法从第一项是'b'的lst中删除任何项目,以便您返回:

[['a','1', '2'], ['c', 1, 2]]

如果只使用内置的库,则会非常感谢任何帮助。 谢谢

使用列表理解

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]]
lst = [x for x in lst if x[0] != 'b']
print(lst)

版画

[['a', '1', '2'], ['c', 1, 2]]

不使用内置库,但如果数组很大,可能会更快,

import numpy as np

lst = np.array(lst)
a = lst[np.where(lst[:,0] != 'b')]
a.to_list()

[['a', '1', '2'], ['c', '1', '2']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM