Python підтримує різні техніки циклу за допомогою певних вбудованих функцій у різних послідовних контейнерах. Ці методи в першу чергу дуже корисні в конкурентному програмуванні, а також у різних проектах, які потребують певної техніки з циклами, що зберігають загальну структуру коду. Зберігається багато часу та пам’яті, оскільки немає потреби оголошувати додаткові змінні, які ми оголошуємо в традиційному підході циклів.
Де вони використовуються?
Різні методи циклу в першу чергу корисні в місцях, де нам не потрібно фактично маніпулювати структурою та порядком загальних контейнерів, а лише друкувати елементи для одноразового екземпляра, без змін на місці в контейнері. Це також можна використовувати у випадках, щоб заощадити час.
Нижче наведено різні техніки циклу з використанням структур даних Python.
Спосіб 1: Використання enumerate(): enumerate() використовується для проходу по контейнерах, друкуючи номер індексу разом із значенням, присутнім у цьому конкретному індексі.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Вихід:
особливості java
0 ThePython3
1 Big
2 Bang
3 Theory
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ')
Вихід:
Geeks for Geeks is the Best Coding Platform Спосіб 2: Використання zip(): zip() використовується для об’єднання 2 або більше контейнерів, які друкують значення послідовно. Цикл існує лише до тих пір, поки не закінчиться менший контейнер. Детальне пояснення zip() і enumerate() можна знайти тут .
Приклад 1: два різні типи даних (список)
Python# python code to demonstrate working of zip() names = ['Deep' 'Sachin' 'Simran'] # list ages = (24 27 25) # tuple for name age in zip(names ages): print('Name: ' name) print('Age: ' age) print()
Вихід
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () Приклад 2: два подібних типи даних list-list
рядок у javaPython3
# python code to demonstrate working of zip() # initializing list questions = ['name' 'colour' 'shape'] answers = ['apple' 'red' 'a circle'] # using zip() to combine two containers # and print values for question answer in zip(questions answers): print('What is your {0}? I am {1}.'.format(question answer))
Вихід:
What is your name? I am apple.
What is your color? I am red.
What is your shape? I am a circle.
Спосіб 3: Використання iteritem(): iteritems() використовується для циклічного перегляду словника, що послідовно друкує пару ключ-значення словника, яка використовувалася до версії Python 3.
Спосіб 4: Використання items(): items() виконує подібне завдання зі словником, як iteritems(), але має певні недоліки порівняно з iteritems().
- Це так дуже трудомісткий . Викликання його у великих словниках займає досить багато часу.
- Це займає a багато пам'яті . Іноді займає вдвічі більше пам'яті, коли викликається словник.
приклад 1:
Python3# python code to demonstrate working of items() d = {'geeks': 'for' 'only': 'geeks'} # iteritems() is renamed to items() in python3 # using items to print the dictionary key-value pair print('The key value pair using items is : ') for i j in d.items(): print(i j)
Вихід:
The key value pair using iteritems is :
geeks for
only geeks
приклад 2:
Python3# python code to demonstrate working of items() king = {'Ashoka': 'The Great' 'Chandragupta': 'The Maurya' 'Modi': 'The Changer'} # using items to print the dictionary key-value pair for key value in king.items(): print(key value)
Вихід
Ashoka The Great Chandragupta The Maurya Modi The Changer
Спосіб 5: Використання sorted(): sorted() використовується для друку контейнер відсортовано в порядку . Це не сортує контейнер але просто друкує контейнер у відсортованому порядку для 1 екземпляра. Використання set() можна комбінувати для видалення дублікатів випадки.
приклад 1:
Python3# python code to demonstrate working of sorted() # initializing list lis = [1 3 5 6 2 1 3] # using sorted() to print the list in sorted order print('The list in sorted order is : ') for i in sorted(lis): print(i end=' ') print('r') # using sorted() and set() to print the list in sorted order # use of set() removes duplicates. print('The list in sorted order (without duplicates) is : ') for i in sorted(set(lis)): print(i end=' ')
Вихід:
The li st in sorted order is :
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6
приклад 2:
Python3# python code to demonstrate working of sorted() # initializing list basket = ['guave' 'orange' 'apple' 'pear' 'guava' 'banana' 'grape'] # using sorted() and set() to print the list # in sorted order for fruit in sorted(set(basket)): print(fruit)
Вихід:
json у прикладі json
apple
banana
grape
guava
guave
orange
pear
Спосіб 6: Використання reversed(): reversed() використовується для друку значень в контейнер у зворотному порядку . Він не відображає жодних змін до початкового списку
приклад 1:
Python3# python code to demonstrate working of reversed() # initializing list lis = [1 3 5 6 2 1 3] # using reversed() to print the list in reversed order print('The list in reversed order is : ') for i in reversed(lis): print(i end=' ')
Вихід:
The list in reversed order is :
3 1 2 6 5 3 1
приклад 2:
Python3# python code to demonstrate working of reversed() # using reversed() to print in reverse order for i in reversed(range(1 10 3)): print(i)
Вихід:
7
4
1
- Ці методи швидкі у використанні та зменшують зусилля на кодування. для циклів while потрібно змінити всю структуру контейнера.
- Ці методи циклу не вимагають жодних структурних змін контейнера. Вони мають ключові слова, які представляють точну мету використання. Тоді як у циклі for while не можна зробити жодних попередніх прогнозів чи припущень, тобто нелегко зрозуміти мету з першого погляду.
- Техніка циклу робить код більш лаконічним, ніж використання циклу for & while.
методи циклу while цикл з використанням операторів if:
У цьому прикладі ми використовуємо цикл while для збільшення змінної під назвою count. Усередині циклу ми використовуємо оператор if, щоб перевірити, чи дорівнює count 3. Якщо так, ми друкуємо повідомлення.
Підхід:
коли винайшли школу
Ініціалізуйте змінну лічильника значенням 0
Використовуйте цикл while для багаторазового виконання блоку коду, доки лічильник менше 5
Усередині циклу використовуйте оператор if, щоб перевірити, чи дорівнює count 3
Якщо кількість 3, надрукуйте повідомлення
Збільшуйте кількість на 1 у кінці кожної ітерації
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1
Вихід
Count is 3
Часова складність: O(n), де n – це кількість ітерацій, необхідних для підрахунку, щоб досягти 5.
Допоміжний простір: O(1), оскільки в коді використовується лише одна змінна (count).
Створіть вікторину