【发布时间】:2020-06-27 21:04:31
【问题描述】:
使用 numpy 数组,您可以通过切片检查特定列,即array[:, 0]。
对于列表,检查 2D 元素是否在里面就像["one", "two"] in some_list 一样简单。但是,仅查看 "one" 是否存在就需要遍历元素,即 ["one" == item[0] for item in some_list]。
我更喜欢 numpy 数组,除了我的数组需要修改(在末尾添加和删除值)。我喜欢使用列表,因为它们非常易于使用。我正在考虑使用数据框,但我觉得我应该能够找到一些巧妙而有效的方法来使用列表进行这种操作。
【问题讨论】:
-
你能添加一个二维列表的例子和你正在寻找的值吗?您的示例谈到寻找“2D 元素”,然后显示一维列表 (
["one", "two"]),目前尚不清楚较大的some_list是什么样的。 -
您是否只是想测试给定目标是否存在于二维列表中?
-
我认为这是你可以用列表做的最好的事情。如果您需要经常执行检查以查看二维列表中是否存在某个值,那么维护一个包含您插入的所有值的字典可能是值得的。如果这样的搜索很少见,那么我想这是最好的列表。
-
没有更有效的方法...数组和列表都需要线性搜索这种东西。除非您的数据已排序。
-
数组的维度是多少?
标签: python python-3.x list