Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于索引值搜索二维嵌套列表_Python_List - Fatal编程技术网

Python 基于索引值搜索二维嵌套列表

Python 基于索引值搜索二维嵌套列表,python,list,Python,List,我想在二维嵌套列表中搜索字符串,并在同一嵌套列表中获取下一个值 list_1=[["a", "b"], ["c", "d"], ["a", "e"],["c", "f"]] search="c" 示例:如果我搜索“c”,那么我应该得到元素“d”和“f”,并且假设如果我搜索“a”,它应该返回“b”和“e” 这是我试过的

我想在二维嵌套列表中搜索字符串,并在同一嵌套列表中获取下一个值

list_1=[["a", "b"], ["c", "d"], ["a", "e"],["c", "f"]]
search="c"
示例:如果我搜索“c”,那么我应该得到元素“d”和“f”,并且假设如果我搜索“a”,它应该返回“b”和“e”

这是我试过的。我能够根据需要返回下一个元素的索引,该索引也是嵌套列表的形式,但我无法获取元素本身。请提供一些建议

out = [[elem,elen+1] for elem,i in enumerate(list_1) for elen,y in enumerate(i) if search in y]
#[[1, 1], [3, 1]]
注意:没有硬编码,也不是副本。如果能维持秩序就更好了。

如下

list_1=[["a", "b"], ["c", "d"], ["a", "e"],["c", "f"]]
search="c"
list_2 = [e[1] for e in list_1 if search == e[0]]
print(list_2)
输出

['d', 'f']
下面

输出

['d', 'f']

您可以使用numpy阵列:

import numpy as np

list_1=np.array([["a", "b"],
       ["c", "d"],
       ["a", "e"],
       ["c", "f"]])
list_result = list_1[list_1[:,0]=="c"]
print(list_result[:, 1])

您可以使用numpy阵列:

import numpy as np

list_1=np.array([["a", "b"],
       ["c", "d"],
       ["a", "e"],
       ["c", "f"]])
list_result = list_1[list_1[:,0]=="c"]
print(list_result[:, 1])