Питхон подржава различите технике петље помоћу одређених уграђених функција у различитим секвенцијалним контејнерима. Ове методе су првенствено веома корисне у конкурентском програмирању, као иу разним пројектима који захтевају специфичну технику са петљама које одржавају целокупну структуру кода. Много времена и меморијског простора је уштеђено јер нема потребе за декларисањем додатних променљивих које декларишемо у традиционалном приступу петљи.
Где се користе?
Различите технике петље су првенствено корисне на местима где не треба да стварно манипулишемо структуром и редоследом укупних контејнера, већ само штампамо елементе за инстанцу за једнократну употребу, у контејнеру се не дешавају промене на месту. Ово се такође може користити у случајевима да се уштеди време.
Различите технике петље које користе Питхон структуре података су:
1. начин: Коришћење енумерате(): енумерате() се користи за петљу кроз контејнере штампајући број индекса заједно са вредношћу присутном у том одређеном индексу.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Излаз:
3д у аутоцаду
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. начин: Коришћење зип(): зип() се користи за комбиновање 2 или више контејнера који штампају вредности узастопно. Петља постоји само док се мањи контејнер не заврши. Детаљно објашњење зип() и енумерате() се може наћи овде .
Пример 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: Два слична типа података листа-лист
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. начин: Коришћење итеритем(): итеритемс() се користи за петљу кроз речник и штампајући пар кључ/вредност речника секвенцијално који се користи пре Питхон 3 верзије.
4. начин: Коришћење итемс(): итемс() обавља сличан задатак у речнику као итеритемс(), али има одређене недостатке у поређењу са итеритемс().
- јесте веома дуготрајно . Позивање на великим речницима одузима доста времена.
- Потребно је а много меморије . Понекад заузима дупло више меморије када се позове из речника.
Пример 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. начин: Коришћење сортед(): сортед() се користи за штампање контејнер је сортиран . То не сортира контејнер али само штампа контејнер у сортираном редоследу за 1 пример. Употреба од сет() се може комбиновати за уклањање дупликата појаве.
Пример 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)
Излаз:
apple
banana
grape
guava
guave
orange
pear
Начин 6: Коришћење реверсед(): реверсед() се користи за штампање вредности тхе контејнер обрнутим редоследом . Не одражава никакве промене на оригиналној листи
Пример 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
- Ове технике се брзо користе и смањују напор кодирања. за док петље треба да се промени цела структура контејнера.
- Ове технике петље не захтевају никакве структурне промене на контејнеру. Они имају кључне речи које представљају тачну сврху коришћења. Док се у фор вхиле петљи не могу направити никаква унапред предвиђања или нагађања, тј. није лако разумети сврху на први поглед.
- Техника петље чини код концизнијим од коришћења фор & вхиле петље.
технике петље вхиле петље користећи иф изјаве:
У овом примеру користимо вхиле петљу да повећамо променљиву која се зове цоунт. Унутар петље користимо иф наредбу да проверимо да ли је цоунт једнак 3. Ако јесте, штампамо поруку.
приступ:
Иницијализујте променљиву бројања на 0
Користите вхиле петљу да више пута извршите блок кода све док је број мањи од 5
Унутар петље користите иф наредбу да проверите да ли је цоунт једнак 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
Временска сложеност: О(н) где је н број итерација потребних да би бројање достигло 5.
јава стринг у цео број
Помоћни простор: О(1) пошто се само једна променљива (број) користи у целом коду.
Креирај квиз