如何区分python3中的列表和列表列表? 我想返回True如果它的列表列表,否则返回False。
list_1 = [1, 2, 3]
list_2 = [[4, 5, 6],[7, 8, 9],[10, 11, 12]]
print(type(list_1))
print(len(list_1))
print(type(list_2))
print(len(list_2))
输出为:
<class 'list'>
3
<class 'list'>
3
答案 0 :(得分:2)
检查第一个元素的类型:
isinstance(the_list[0], list)
即:
>>> isinstance(list_1[0], list)
False
>>> isinstance(list_2[0], list)
True
但是,列表列表是什么意思?以下是列表列表吗?
[1, [1, 2, 3], 1, 1]
如果是,那么您可以检查任何元素是否为列表:
any(isinstance(l) for l in the_list)
当它们全部都列出时该怎么办?以下是唯一真正的“列表列表”吗?
[[1, 2], [1, 2]]
如果是这样,则可以检查所有元素是否为列表:
all(isinstance(l) for l in the_list)
但是,尽管这些问题很重要,但以您的示例为例,第一个代码片段就足够了。
答案 1 :(得分:0)
检查列表中的每个项目是否都是list
的实例
is_list_of_list = all(isinstance(item, list) for item in your_list)