簡體   English   中英

查找兩個列表的索引

[英]Find indexes of two lists

我有兩個numpy列表:

x = ['A', 'A', 'C', 'A', 'V', 'A', 'B', 'A', 'A', 'A']
y = ['1', '2', '1', '1', '3', '2', '1', '1', '1', '1']

x等於'A'並且y等於'2'時,如何找到索引?

我希望得到索引[1, 5]

我嘗試使用: np.where(x == 'A' and y == '2')但是它沒有幫助我。

您需要將列表轉換為numpy數組才能使用矢量化操作,例如==&

import numpy as np
np.where((np.array(x) == "A") & (np.array(y) == "2"))
# (array([1, 5]),)

較短的版本(如果您確定x和y是numpy數組):

>>> np.where(np.logical_and(x == 'A', y == '2'))
(array([1, 5]),)

純python解決方案:

>>> [i for i,j in enumerate(zip(x,y)) if j==('A','2')]
[1, 5]

如果要使用列表:

idx1 = [i for i, x in enumerate(x) if x == 'A']
idx2 = [i for i, x in enumerate(y) if x == '2']
list(set(idx1).intersection(idx2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM