logo

Техніка циклу в Python

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 The  
1 Big
2 Bang
3 Theory
Python3
# 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

рядок у java
Python3
# 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 у кінці кожної ітерації

Python3
# 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).

Створіть вікторину