如何检查变量是否为元组列表?
isinstance 只能判断变量是否是列表或元组,但我不知道如何检查嵌套结构。
如何检查变量是否为元组列表?
isinstance 只能判断变量是否是列表或元组,但我不知道如何检查嵌套结构。
all
和instanceof
:>>> a = [(1,2),(3,5)]
>>> all(isinstance(item, tuple) for item in a)
True
>>> b = [(1,2),(3,5), "string"]
>>> all(isinstance(item, tuple) for item in b)
False
>>>
all
。>>> lit=[(1,),(2,),(3,)]
>>> lin=[(1,),(2,),(3,),4]
>>> all(isinstance(e,tuple) for e in lit)
True
>>> all(isinstance(e,tuple) for e in lin)
False
>>> filter(lambda e: not isinstance(e, tuple), lit)
[]
>>> filter(lambda e: not isinstance(e, tuple), lin)
[4]
或者使用列表生成式查找非元组的索引:
>>> [i for i, e in enumerate(lit) if not isinstance(e, tuple)]
[]
>>> [i for i, e in enumerate(lin) if not isinstance(e, tuple)]
[3]
filter
或列表推导式,一个空列表也是“假”的,因此它既可以是测试,又可以是结果,如果您正在寻找实际不是元组的元素。