Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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_Indexing - Fatal编程技术网

Python 在列表中查找第一个值并返回第二个值

Python 在列表中查找第一个值并返回第二个值,python,list,indexing,Python,List,Indexing,我有一个如下列表: list = [ ("Element A", 01), ("Element B", 02), ("Element C", 03), ("Element D", 04) ] 要知道第一个值,我需要一种获取第二个值的方法。如果只想搜索一次,只需扫描列表: lst = [ ("Element A", 1), ("Element B", 2), ("Element C", 3), ("Element D", 4) ] key = "Element B" val = [elt[1]

我有一个如下列表:

list = [
("Element A", 01),
("Element B", 02),
("Element C", 03),
("Element D", 04)
]

要知道第一个值,我需要一种获取第二个值的方法。

如果只想搜索一次,只需扫描列表:

lst = [
("Element A", 1),
("Element B", 2),
("Element C", 3),
("Element D", 4)
]
key = "Element B"
val = [elt[1] for elt in lst if elt[0] == key][0]
print(val)
按预期给出
2

如果要进行多次搜索,请将列表转换为dict:

d = dict(lst)
val = d[key]

当您确实需要列表时,还可以使用列表提供
2

通过这种方式,您可以这样定义您的信息:

mydict = {
"Element A": 01,
"Element B": 02,
"Element C": 03,
"Element D": 04
}
检索值非常简单,如下所示:

mydict['Element A']

[编辑]谢尔盖的答案更简洁。

使用字典<代码>dict(我的列表)['Element A']好的,有什么问题吗?你试过什么,做过什么研究吗?另外,命名变量
列表是一个糟糕的主意。转换成dict看起来更干净,效果也更好。谢谢