python - 你如何区分列表和列表的列表

标签 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

最佳答案

检查第一个元素的类型:

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/

相关文章:

python - 正则表达式捕获 '/etc/services'

python - 通过执行 pscp 的 Windows 任务计划程序运行 python 脚本时出现问题

Python (Anaconda Spyder) 土耳其语字符问题

python - GeoDjango:查找半径内的对象

python - 在 pyparsing 中评估 bool

javascript - bootstrap 导航栏下拉菜单未在 django 中显示

python - 类型错误 : 'numpy.float64' object is not callable?

python - 是否可以更改 Python Idle 中注释的颜色?

python - 求a到b范围内函数下的面积

python - 检查并等待文件存在以读取它