【发布时间】:2019-04-13 00:32:14
【问题描述】:
对于我的脚本,我需要检查某个对象是字典列表还是字典列表列表,以便执行相应的操作,否则会引发错误。
更具体地说,应接受以下内容(有两种不同的条件):
mylist = [{'a': 1, 'b': 2}, {'c': 3},{'d': 4}]
mylist1 = [[{'a':1}, {'ccc':4}], [{'e': 3}]]
但是,例如,以下应该引发错误:
c = [[]]
d = [[{'a':1}], {'b':2}]
我已经实现了一个幼稚的解决方案,如下所示:
if set([type(x) for x in mylist]) == set([dict]):
print('first case')
elif set([type(x) for x in mylist]) == set([list]) and set([type(x) for y in mylist for x in y ])== set([dict]):
print('second case')
else:
raise Exception('wrong structure')
我尝试使用架构验证,但我似乎不知道如何做到这一点。 任何有助于使其更具可读性/优雅的帮助将不胜感激!
提前谢谢你,
M
【问题讨论】:
-
感谢您的评论。问题是我需要更笼统地说:我不知道键,也不知道结构中的元素数量..
标签: python