我是python的初学者,在将列表的索引搜索到另一个列表列表时遇到困难。我有两个列表X和X_test。样本如下:
X = [[5 1 1 1 2 '1' 3 1 1],[5 4 4 5 7 '10' 3 2 1],[3 1 1 1 2 '2' 3 1 1],[6 8 8 1 3 '4' 3 7 1],[4 1 1 3 2 '1' 3 1 1]]
X_test = [[3 1 1 1 2 '2' 3 1 1],[6 8 8 1 3 '4' 3 7 1]]
X_test的元素是列表X的一部分。现在,我想找到X中每个X_test列表的索引。
For eg. X_test[0] is at the index 2 of X and X_test[1] at index 3.
程序应该返回匹配列表的索引。即2 and 3
。
我怎么能在python中做到这一点?提前致谢。
答案 0 :(得分:1)
您的代码没有完全运行,因为您需要在每个列表的元素之间使用逗号。
所以我写了我自己的例子。这就是你能做的:
X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
X_test = [[4, 5, 6]]
for i in X_test:
print(X.index(i))
答案 1 :(得分:1)
res = []
for i in X_test:
res.append(x.index(i))
答案 2 :(得分:1)
尝试使用.index()
:
indexes = [X.index(test) for test in X_test]
如果您尝试使用简单列表(而不是列表列表),这一切都会更清楚:
>>> X = [0, 1, 4, 9, 16]
>>> X_test = [9, 16]
>>> indexes = [X.index(test) for test in X_test]
[3, 4]