如何检查列表中是否包含列表列表?

时间:2019-06-03 12:00:04

标签: python python-3.x list

我想知道如何在列表中包含列表的情况下以最短的方式进行检查。我不需要检查值,只需检查列表的类型。我想知道列表中的对象是否为列表。就是这样。

谢谢!

4 个答案:

答案 0 :(得分:4)

使用isinstance(x, list)来查看x是否是list的实例。

如果要确保列表中的所有所有元素(我们称其为my_list)都是列表,请使用all()

all(isinstance(x, list) for x in my_list)

如果您只想知道my_list内是否有任何列表,请使用any()

any(isinstance(x, list) for x in my_list)

这两个都返回布尔值(True / False),因此您可以将其存储到变量中或在if语句中使用它或任何其他方式:

if any(isinstance(x, list) for x in my_list):
    print('At least one list!')
else:
    print('No lists in my_list')

答案 1 :(得分:0)

列表可以是混合类型,但是您可以使用:root { --font-size: 100%; --ratio: 1.333; --ratio-alt: 1.68; --h4: calc(var(--font-size) * var(--ratio)); --h3: calc(var(--h4) * var(--ratio)); --h2: calc(var(--h3) * var(--ratio)); --h1: calc(var(--h2) * var(--ratio)); } @media (min-width: 40em) { :root { --ratio: --ratio-alt; } } 方法在列表中找到任何索引的类型

type

返回

x = [1, 2, 'three', [4, 5, 6]] # This list contains int, int, str, list
for i in x:
    print(type(i))

答案 2 :(得分:0)

您可以使用isinstance方法进行检查:

例如,如果您有字典temp = {}

您可以使用

进行检查
 print(isinstance(temp, dict)) # it ll return True if temp is a dictionary.

与列表和字符串相同...

答案 3 :(得分:0)

要检查任何项是否为列表,可以执行以下操作:

if list in map(type, my_list):
    # there is a list in `my_list`

要检查所有项目是否为列表,可以执行以下操作:

if {list} == set(map(type, my_list)):
    # all items are lists

您可以通过以下方式更加明确

def is_list(x):
    return type(x) == list

然后:

if any(map(is_list, my_list)):
    # some items are lists

或者:

if all(map(is_list, my_list)):
    # all items are lists

请务必添加对空列表案例的处理。