Python 测试变量是否具有“类型”;元组列表“;
如何检查变量是否为元组列表Python 测试变量是否具有“类型”;元组列表“;,python,Python,如何检查变量是否为元组列表 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) f
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
和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
您还可以在筛选器中对lambda求反,以测试和查找非元组的元素:
>>> 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
或列表理解,则空列表也是“falsy”,因此,如果要查找非元组的实际元素,则空列表既可以是测试,也可以是结果 使用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
您还可以在筛选器中对lambda求反,以测试和查找非元组的元素:
>>> 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
或列表理解,则空列表也是“falsy”,因此,如果要查找非元组的实际元素,则空列表既可以是测试,也可以是结果 因为Python是动态类型的,所以您必须检查列表中的每个元素。因为Python是动态类型的,所以您必须检查列表中的每个元素。