Python:将列表的索引查找到列表列表中

时间:2018-05-22 09:23:53

标签: python list loops

我是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中做到这一点?提前致谢。

3 个答案:

答案 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]