繁体   English   中英

Python:在一个列表中找到一个值,然后在另一个列表中找到相应的索引

[英]Python: Finding a value in 1 list and finding that corresponding index in another list

给我的函数一个“ to_find_value”,然后有2个长度和索引值相同的列表。 一旦找到“ to_find_value”所在的列表1中的索引值,我想获取列表2的索引并返回在列表2中找到的值。

例如:

function_name('tree', ['bush', 'tree', 'shrub'], ['red', 'green', 'yellow'])
'green'

因此,在上面的函数中,我得到了树,我在列表1的索引1中找到了它,然后转到列表2的索引1,并返回该索引处的值

到目前为止,这是我开始的内容,但是我不确定如何格式化“未知”索引:

for plant in plant_data:  
    if plant in list1:  
    list1[?] == list2[?]  
return list2[?}  

*'?' 代表我不确定的部分

就像是:

def f(a,b,c):
    return c[b.index(a)]

然后像这样调用它:

print(f('tree', ['bush', 'tree', 'shrub'], ['red', 'green', 'yellow']))

输出为:

green

使用索引方法:

return list2[list1.index(plant)]

您可以使用索引方法进行列表

>>> ["foo", "bar", "baz"].index("bar")
1

这将返回第一次出现的索引

如果我对您的理解正确,那么您要寻找的功能是索引,如果存在,它将返回列表中元素的索引(如果不存在,则返回值错误)。 您可以执行以下操作:

list2[list1.index("tree")]

list1.index(“ tree”)将返回1,然后可以使用它访问list2。

您可以使用内置的enumerate函数来同时跟踪索引和项目:

for idx, plant in enumerate(plant_data):
    if plant in list1:
        list1[idx] = list2[idx]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM