TGViewer
Test Engineering Notes Test Engineering Notes @testengineering · 4.01K subscribers
Post #699 2.43K
Що краще: enumerate чи range для циклів

#python

Уявімо, що треба пройти по усім елементам циклу.

Це можна зробити дуже просто


fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)


Якщо ж треба мати доступ до елементу разом із його індексом, є такі варіанти


# range
fruits = ["apple", "banana", "cherry"]
for index in range(len(fruits)):
print(index, fruits[index])

# enumerate
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)


Що краще обрати - enumerate чи range?

1. enumerate більш чисто виглядає та ще й оптимізована на рівні інтерпертатора
2. enumerate не має потенційних проблем з доступом по неіснуючому індексу
3. enumerate дозволяє задати початковий індекс для ітерації


for index, fruit in enumerate(fruits, start=1):
print(index, fruit)


Окей, а коли ж краще користуватись range?

- коли колекція елементів точно індексована
- коли не треба мати доступ до конкретного елементу за поточним індексом


for i in range(10):
print(i**2)
  • 👍 15
  • ❤ 1
More from @testengineering
  1. Oct 6, 2026Вже жовтень - саме час готуватися до ISTQB CT-GenAI "До Нового Року є ще цілий квартал щоб…
  2. Oct 5, 2026Ministry of Testing - англомовні івенти на всі смаки #testing #ai Всім привіт. Хочу розпов…
  3. Sep 30, 2026Скіл, щоб прибрати зайве #ai Цікавий скіл, щоб не продиратись через купу згенерованого тек…
  4. Sep 29, 2026Що таке агент? #ai Зрозумій, на небесах в тестуванні тільки й говорять, що про море агенті…
  5. Sep 28, 2026Navigating the AI Shift #testing@testengineering #ai@testengineering Трохи старе, але не м…
  6. Sep 25, 2026Сувора QA Конференція - AI в тестуванні Вже наступного тижня пройде найцікавіша онлайн-кон…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →