如何在检测空列表的嵌套列表时 return True?
How to return True when detecting a nested list of empty lists?
我在编写语句时试图 return True 值:
list = [[],[],[],[]]
list == []
相反,它 returns False
我的嵌套列表由数量可变的空列表组成。
如何编写可应用于 [1/2/3...] 空列表的嵌套列表的单个语句?
您可以先删除所有空列表,然后检查结果是否为空列表,您可以在一行中执行此操作,如下所示:
[x for x in list if x != []] == []
all(x == [] for x in your_list)
到return如果全部为空则为真
any(x != [] for x in your_list)
至return 如果至少 on 不为空则为真
我不完全理解你的问题,但如果你想检测空列表或空列表的嵌套列表,请尝试仅保留唯一元素(假设你的列表是 l)
if l ==[] 或 list(set(l))==[[]]:
您可以在 python 中使用 all
来匹配列表中所有元素的条件。在这种情况下,条件是元素是否为空列表。
>>> my_list = [[], [], []]
>>> all([x == [] for x in my_list])
True
使用 any() 函数。
list = [[], [], []]
any(list) == bool([]) # evaluates to True
在 python 中,空列表的 bool 值为 False,如果列表中 none 的值为 True,则任何函数 returns False。
如果你确定你列表中的所有项目都是列表你可以直接使用any
因为[]的真实值为False
list_of_lists = [[],[],[],[]]
if not any(list_of_lists):
# all lists are empty (or list_of_lists itself is empty)
any
和 all
的各种用途将允许您检查其他类似条件:
if any(list_of_list):
# at least one of the list is not empty
if all(list_of_list):
# none of the lists are empty
if not all(list_of_list):
# at least one of the lists is empty
我在编写语句时试图 return True 值:
list = [[],[],[],[]]
list == []
相反,它 returns False
我的嵌套列表由数量可变的空列表组成。 如何编写可应用于 [1/2/3...] 空列表的嵌套列表的单个语句?
您可以先删除所有空列表,然后检查结果是否为空列表,您可以在一行中执行此操作,如下所示:
[x for x in list if x != []] == []
all(x == [] for x in your_list)
到return如果全部为空则为真
any(x != [] for x in your_list)
至return 如果至少 on 不为空则为真
我不完全理解你的问题,但如果你想检测空列表或空列表的嵌套列表,请尝试仅保留唯一元素(假设你的列表是 l)
if l ==[] 或 list(set(l))==[[]]:
您可以在 python 中使用 all
来匹配列表中所有元素的条件。在这种情况下,条件是元素是否为空列表。
>>> my_list = [[], [], []]
>>> all([x == [] for x in my_list])
True
使用 any() 函数。
list = [[], [], []]
any(list) == bool([]) # evaluates to True
在 python 中,空列表的 bool 值为 False,如果列表中 none 的值为 True,则任何函数 returns False。
如果你确定你列表中的所有项目都是列表你可以直接使用any
因为[]的真实值为False
list_of_lists = [[],[],[],[]]
if not any(list_of_lists):
# all lists are empty (or list_of_lists itself is empty)
any
和 all
的各种用途将允许您检查其他类似条件:
if any(list_of_list):
# at least one of the list is not empty
if all(list_of_list):
# none of the lists are empty
if not all(list_of_list):
# at least one of the lists is empty