python 查询某个元素在多级列表中的位置
时间: 2024-09-19 20:01:43 浏览: 28
在Python中,查询某个元素在多级(嵌套)列表中的位置可以使用递归函数或者迭代的方式。这里我们以递归为例来说明:
假设你有一个多级列表例如:
```python
nested_list = [[1, 2, 3], [4, [5, 6]], [7, 8, [9, 'elephant']]]
```
你可以定义一个递归函数`find_element_index`,这个函数接受目标元素和当前层级的列表作为输入,返回元素的位置:
```python
def find_element_index(element, nested_list, level=0):
for index, value in enumerate(nested_list):
if isinstance(value, list): # 如果值是列表,则继续递归查找
sub_index = find_element_index(element, value, level + 1)
if sub_index is not None:
return (level, sub_index) # 返回元素在多层列表中的完整索引
elif value == element: # 如果找到目标元素,返回当前层级和索引
return (level, index)
return None # 如果遍历完都没有找到,返回None
element_to_find = 'elephant'
position = find_element_index(element_to_find, nested_list)
if position:
print(f"元素 '{element_to_find}' 的位置是: {position}")
else:
print("元素未在列表中找到。")
```