gpt4 book ai didi

python - 在列表列表中查找元素

转载 作者:行者123 更新时间:2023-11-28 22:53:50 29 4
gpt4 key购买 nike

我有一个列表中的列表。

我想查找它是否包含感兴趣的项目。

例如:L=[['READ',[A,B],'2'],['WRITE',[C,D],'2']]

现在,我有一个字符串 str=READ,我想遍历两个列表,包括子列表以查找是否存在这样的元素。有没有办法不使用索引就可以做到这一点?

我不想使用索引,因为无法保证列表长度保持不变。

最佳答案

如果正在搜索的数据结构中没有循环,这是一个简单的递归问题:

def find(x, L):
return x in L or any(find(x, sublist)
for sublist in L
if isinstance(sublist, list))

如果相反,数据结构中可能存在循环,那么您必须防止进入无限递归

def find(x, L, seen=None):
if seen is None:
seen = set()
if id(L) in seen:
# Avoid infinite recursion
return False
seen.add(id(L))
return x in L or any(find(x, sublist, seen)
for sublist in L
if isinstance(sublist, list))

关于python - 在列表列表中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942202/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com