np.where 返回元组列表的空索引

Kin*_*gle -1 python numpy

谁能告诉我如何修复以下代码?np.where 应该返回索引 0。

import numpy as np
listoftups=[("a", "b"), ("n"), ("c","d","e"), ("f", "g")]
np.where(listoftups==("a", "b"))
Run Code Online (Sandbox Code Playgroud)

小智 5

np.where(('a','b') in listoftups)
Run Code Online (Sandbox Code Playgroud)

您的代码中的内容返回 false

>>> listoftups==("a", "b")
False
Run Code Online (Sandbox Code Playgroud)

然而,

>>> ('a','b') in listoftups
True
Run Code Online (Sandbox Code Playgroud)

  • 这在一般情况下是行不通的,因为`listoftups` 是一个python 列表,如果`("a", "b")` 在列表中,那么结果将为真,无论您使用什么元组,结果都将是索引0搜索。有关更通用的解决方案,请参阅 @watchdog101 答案。 (2认同)