Ardıcıllıqların Python-da Eyni Zamanda Iterasiyası
Bir neçə ardıcıllığı eyni zamanda iterate etmək üçün
zip funksiyasından istifadə edə bilərsiniz.
Bu zaman bütün ardıcıllıq elementləri
eyni indeksə malik elementlərdən ibarət
korteclər şəklində çap olunacaq.
Nümunə
Tutaq ki, bizim iki siyahımız var:
lst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]
Gəlin onların elementlərini cüt-cüt çap edək:
for el in zip(lst1, lst2):
print(el)
Kodun icrasının nəticəsi:
('a', 1)
('b', 2)
('c', 3)
Nümunə
Fərqli tipli ardıcıllıqları da iterate etmək olar.
Gəlin çoxluq və korteci döngü və
zip funksiyası vasitəsilə keçirək:
st = {'a', 'b', 'c'}
tlp = (1, 2, 3)
for el in zip(st, tlp):
print(el)
Kodun icrasının nəticəsi:
('a', 1)
('b', 2)
('c', 3)
Nümunə
Əgər bir ardıcıllığın uzunluğu digərindən böyükdürsə, onda onlar kiçik olanın elementləri qurtarana qədər iterate olunacaq:
lst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]
for el in zip(lst1, lst2):
print(el)
Kodun icrasının nəticəsi:
('a', 1)
('b', 2)
('c', 3)
('d', 4)
Nümunə
zip funksiyası vasitəsilə
üç ardıcıllığı da iterate etmək olar. Bunun üçün
funksiyanın parametrində onların hamısını vergüllə
ayıraraq sadalayırıq:
lst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']
for el in zip(lst1, lst2, lst3):
print(el)
Kodun icrasının nəticəsi:
('a1', 'a2', 'a3')
('b1', 'b2', 'b3')
('c1', 'c2', 'c3')
Praktiki Tapşırıqlar
İki siyahı verilib:
tst1 = [1, 3, 5]
tst2 = [2, 4, 6]
Onların elementlərini korteç şəklində cüt-cüt çap edin.
İki siyahı verilib:
tst1 = ['a', 'b', 'c']
tst2 = ['d', 'e', 'f']
Onlardan aşağıdakı siyahını əldə edin:
['a', '1', 'b', '2', 'c', '3']
Üç siyahı verilib:
tst1 = [11, 12, 13, 14]
tst2 = [21, 22, 23, 24]
tst3 = [31, 32, 33, 34]
Bu siyahıların uyğun elementlərini toplayaraq nəticəni yeni siyahıya yazın. Toplama aşağıdakı prinsiplə aparılmalıdır:
[
11 + 21 + 31,
12 + 22 + 32,
13 + 23 + 33,
14 + 24 + 34,
]