如果你只有一层,你可以循环遍历这个列表并检查元素是否在这个列表中,使用in关键字。
但是,如果您有多个级别的嵌套子列表,您可能需要使用递归函数来扫描所有子列表。下面的函数finder() 扫描所有嵌套列表并返回第一次遇到该元素的列表的索引:
sublist = [[32,999,15,329,679],
[1738,100,55,1800,1469],
["bruges","manchester","bristol","edinburgh","barcelona"],
["Vienna","Stockholm","Berlin","Prague","Dublin"],
["Dog",["Cat","Parrot"]]]
def finder(nested,element):
for i in range(len(nested)):
if type(nested[i])==list:
f = finder(nested[i],element)
if type(f)==list:
return [i]+f
elif nested[i]==element:
return [i]
print(finder(sublist,"Vienna"))
print(finder(sublist,"Parrot"))
#Output:
#[3, 0]
#[4, 1, 1]
输出意味着“维也纳”在列表 3 中,即第 0 个元素。元素“鹦鹉”在列表 4 中,在列表 1 中,是第 1 个元素。