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,
]