【发布时间】:2018-10-03 15:48:36
【问题描述】:
我使用的是 Python 3,我的代码中有两个列表:
ListA = [53, 1, 17, 4, 13, 2, 17]
ListB = [4, 3, 1]
现在,我想在 ListA 中的 ListB 中查找任意数字的索引。
这种情况下的输出应该是1,因为:
-
ListA中的第一个值也是ListB中的1。 -
1在ListA中的值索引是1。
【问题讨论】:
-
您可以将列表理解用作
index = [ListB.index(j) for j in ListA if j in ListB][0] -
如果没有共同值怎么办?
-
根据您的应用程序,
np.in1d()可能有用:docs.scipy.org/doc/numpy-1.15.0/reference/generated/… -
输出应该是
ListA或ListB中公共值的索引吗? -
感谢大家的快速回复,我会澄清我的问题。我想在 ListA 中找到与 ListB 中的任何数字(4、3 或 1)匹配的索引。在我发布的示例中,数字 1 在 ListB 中,第一个在 ListA 中(来自 ListB 中的给定数字)。预期输出为:2 / 或者如果 ListA 没有来自 ListB 的任何数字,则输出将被扩展为 len(ListA)。希望我现在没有让你更加困惑????
标签: python python-3.x list indexing