您如何分辨列表和列表之间的区别

时间:2018-08-28 14:38:16

标签: python

如何区分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

2 个答案:

答案 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)