我有以下课程
class A:
def __init__(self, elements):
self.elements = elements
我需要编写一个函数,它接受它的两个实例,并查找实例1是否在实例2的元素中。这是一个不规则列表,因为这些元素包含更多A到任意深度的实例。
我想要这些内容:
def is_element_in(instanceA1, instanceA2):
found = False
for inherit in instanceA2.instanceof.inherits:
if instanceA1 == inherit:
found = True
else:
n_inherit(instanceA1, inherit)
return found
写这个的最好方法是什么?我读了一些关于扁平化列表的答案。我不知道这里是否是最好的主意,因为我必须访问字段才能获得我的元素列表。可以在这里使用的任何python库吗?
答案 0 :(得分:2)
可能的解决方案是
def is_element_in(items, element):
for item in items:
if item == element:
return True
if isinstance(item, list) and is_element_in(item, element):
return True
return False
items = [[1, 2], [3], [[4], 5]]
print(is_element_in(items, 4))
print(is_element_in(items, 0))
打印
True
False