【发布时间】:2021-10-01 01:21:36
【问题描述】:
我正在尝试编写一个列表理解函数来检查嵌套列表函数storage..storage4 中每个列表的长度storage..storage4 以查看所有列表值的长度是否大于 0。如果满足则返回一个布尔值.所以在storage 中val2 的长度大于0,除val 之外的所有其他列表也是如此,因为并非storage 中的所有列表的长度都大于0,它将输出False。 storage4 满足所有列表长度大于 0 的条件,因此输出 True。如何修改代码以获得预期的输出?
val = []
val2 = [12,456,786,9]
val3 = [556]
val4 = [66,7,4,3,12]
val5 = [99,88,6]
val6 = [12,4567]
storage = [val,val2,val3]
storage2 = [val,val2,val3,val4,val5,val6]
storage3 = [val,val2,val4,val6]
storage4 = [val2,val5,val6]
def checking(list_val):
newlist = [True for x in list_val if len(x) > 0]
print(checking(storage))
print(checking(storage2))
print(checking(storage3))
print(checking(storage4))
输出
None
None
None
None
预期输出:
False
False
False
True
【问题讨论】:
标签: python-3.x list for-loop boolean list-comprehension