Back to questions
Junior — Middle
78
Можно ли использовать цикл while для обхода элементов коллекции?
Answer from AI
sobes.tech AI
Да, в Python можно использовать цикл while для обхода элементов коллекции, но это не самый распространённый способ. Обычно для обхода коллекций используют цикл for, так как он проще и читабельнее.
Если всё же нужно использовать while, можно обходить коллекцию по индексу, если коллекция индексируемая (например, список):
items = ['a', 'b', 'c']
i = 0
while i < len(items):
print(items[i])
i += 1
Для коллекций, которые не поддерживают индексацию (например, множества или генераторы), while использовать неудобно. В таких случаях лучше использовать for или преобразовать коллекцию в список.
Также можно использовать итератор и while с next():
items = ['a', 'b', 'c']
iterator = iter(items)
while True:
try:
item = next(iterator)
print(item)
except StopIteration:
break
Таким образом, while можно использовать, но чаще предпочтительнее for.