Привет, у меня есть список с истинными ложными значениями,
visited =[True, False, True, False]
Я не уверен, возможно ли это, но id любит использовать логику списка в цикле while, когда список пуст или посещен больше не имеет значений False. Id хотел завершить цикл while. Вот моя попытка, похоже, бесконечный цикл. И я не могу изменить ложные значения, когда сталкиваюсь с одним, вот мой код
class mass:
def __init__(self):
visited =[True, False, True, False]
self.x = 0
while len([self.x for self.x, values in enumerate(visited) if visited[self.x] == False ]) > 0:
print(self.x)
visited[self.x] = True
print(visited)
self.x = 0
c = mass()
c
Я хотел бы изменить ложные значения, а также остановить цикл, если длина достигает 0 в цикле while. Когда я делаю это в консоли Python, я получаю вывод
>>> [x for x, values in enumerate(visited) if visited[x] == False ]
[1, 3]
visited =[True, True, True, True]
Тогда, если я сделаю
>>> visited =[True, True, True, True]
>>> [x for x, values in enumerate(visited) if visited[x] == False ]
[]
Итак, я попробовал
>>> print(len([x for x, values in enumerate(visited) if visited[x] == False ]))
0
Что заставляет меня думать, что я могу сделать
while len([x for x, values in enumerate(visited) if visited[x] == False ]) > 0
Которая зацикливается непрерывно. Любой совет был бы отличным, спасибо
False
? - person DeepSpace   schedule 19.05.2016