python如何查询二维列表中的所有布尔值



所以我想创建一个while循环,一旦二维列表中的所有布尔值都为true(特别是字典(,该循环就会停止。

这是我要查询的词典。

tasks = {'bathroom':
{'linus':False, 
'ola': False, 
'lex': False, 
'lotte': False, 
'yoan': False, 
'daan': False}, 
'kitchen':
{'linus':False, 
'ola': False, 
'lex': False, 
'lotte': False, 
'yoan': False, 
'daan': False},
'garbage':
{'linus':False, 
'ola': False, 
'lex': False, 
'lotte': False, 
'yoan': False, 
'daan': False},
'recycling':
{'linus':False, 
'ola': False, 
'lex': False, 
'lotte': False, 
'yoan': False, 
'daan': False},
'corridors':
{'linus':False, 
'ola': False, 
'lex': False, 
'lotte': False, 
'yoan': False, 
'daan': False}}

这是我试图想出的,但它似乎不起作用

while not all(done == true for done in names.values() for names in tasks.values())

He3lixxx说的是正确的;理解顺序不对。

while not all(done for names in tasks.values() for done in names.values())

从正常Python工作流的角度来考虑它,除了值在顶部,而不是嵌套循环内部

while not all(done                             # value
for names in tasks.values()      # outer loop
for done in names.values()   # inner loop
)

但如果所有值实际上都是布尔值,则可以将其缩短为

while not all(all(task.values()) for task in tasks.values())

如果你要写出第二种方法,它会

while not all(all(subtask for subtask in task.values()) for task in tasks.values())

这与您的排序类似,但您必须记住all(...)部分是单个值。所以你只是在做";值外环";,不管";值";是另一个理解列表本身。

嗨,格林,我把你的代码粘贴到我的ide中,并得到了一些错误,我发现的第一个问题是,你的真正布尔值不应该是大写t的类型,所以它不是"真";但是";真";,我看到的第二个问题是,你试图用while循环在一行中解决这个问题,而循环通常需要一个":"并且不能在1行中使用,遗憾的是,我没有找到一种方法来变异你的数据,但我确实找到了一种访问它的方法,这是你可以稍后删除评论的代码:

finished = True
while finished:

'''
access the first dict that is the task's dict 
aka kitchen, corridors, bathroom, ect, but it haven't find the names
'''
# this comment on top of this comment is for the first for loop
for task in tasks.values():
'''
find the names in every task and prints them, 
you can change the print statement to a line that mutates the data
'''
# this comment is for the second for loop
for names in task.values():
print(names)  # prints the data that got access, you can change this later
print(tasks)  # prints the whole dict
finished = False

希望我能帮你一点忙,并删除访问数据的麻烦^w^

相关内容

  • 没有找到相关文章

最新更新