Python'до бир эле убакта бир нече иреттүүлөрдү айлануу
Бир эле убакта бир нече иреттүүлөрдү кайталоо үчүн,
zip функциясын колдонсо болот.
Бул учурда иреттүүлөрдүн бардык элементтери
бирдей индекстеги элементтерден турган кортеждер
түрүндө чыгарылат.
Мисал
Бизде эки тизме бар деп коёлу:
lst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]
Алардын элементтерин жуптап чыгаралы:
for el in zip(lst1, lst2):
print(el)
Кодду иштетүүнүн натыйжасы:
('a', 1)
('b', 2)
('c', 3)
Мисал
Ар кандай түрдөгү иреттүүлөрдү да кайталоого болот.
zip функциясы жана цикл аркылуу
көптүк менен кортежди өткөрөлү:
st = {'a', 'b', 'c'}
tlp = (1, 2, 3)
for el in zip(st, tlp):
print(el)
Кодду иштетүүнүн натыйжасы:
('a', 1)
('b', 2)
('c', 3)
Мисал
Эгерде бир иреттүүлүктүн узундугу экинчисинен чоң болсо, анда алар кичинесинин элементтери боюнча кайталанышат:
lst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]
for el in zip(lst1, lst2):
print(el)
Кодду иштетүүнүн натыйжасы:
('a', 1)
('b', 2)
('c', 3)
('d', 4)
Мисал
zip функциясынын жардамы менен үч иреттүүлүктү
да кайталоого болот. Бул үчүн функциянын параметринде
алардын бардыгын үтүр менен бөлүп жазабыз:
lst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']
for el in zip(lst1, lst2, lst3):
print(el)
Кодду иштетүүнүн натыйжасы:
('a1', 'a2', 'a3')
('b1', 'b2', 'b3')
('c1', 'c2', 'c3')
Практикалык тапшырмалар
Эки тизме берилген:
tst1 = [1, 3, 5]
tst2 = [2, 4, 6]
Алардын элементтерин кортеж түрүндө жуптап чыгарыңыз.
Эки тизме берилген:
tst1 = ['a', 'b', 'c']
tst2 = ['d', 'e', 'f']
Алардан төмөнкү тизмени алыңыз:
['a', '1', 'b', '2', 'c', '3']
Үч тизме берилген:
tst1 = [11, 12, 13, 14]
tst2 = [21, 22, 23, 24]
tst3 = [31, 32, 33, 34]
Бул тизмелердин туура келген элементтерин кошуп, натыйжаны жаңы тизмеге жазыңыз. Кошуу төмөнкү принцип боюнча жүрөт:
[
11 + 21 + 31,
12 + 22 + 32,
13 + 23 + 33,
14 + 24 + 34,
]