在 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
最佳答案
检查第一个元素的类型:
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)
如果都是list呢?以下是唯一真正的“列表列表”吗?
[[1, 2], [1, 2]]
如果是这样,那么您可以检查所有元素是否是列表:
all(isinstance(l) for l in the_list)
但是,尽管这些问题很重要,但对于您的示例,第一个片段就足够了。
关于python - 你如何区分列表和列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060484/