Python හි එකවර අනුක්රම පුනරාවර්තනය කිරීම

එකවර අනුක්රම කිහිපයක් පුනරාවර්තනය කිරීම සඳහා, ඔබට zip ශ්‍රිතය යොදා ගත හැකිය. මෙම අවස්ථාවේ දී, සියලුම අනුක්රමවල අංග එකම දර්ශකයක් ඇති අංග වලින් සමන්විත tuple ලෙස ප්‍රතිදානය කෙරේ.

උදාහරණය

අපට ලැයිස්තු දෙකක් ඇතැයි සිතමු:

pythonlst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]

අපි ඒවායේ අංග යුගල වශයෙන් ප්‍රතිදානය කරමු:

pythonfor el in zip(lst1, lst2):
  print(el)

ක්‍රියාත්මක කළ කේතයේ ප්‍රතිඵලය:

python('a', 1)
('b', 2)
('c', 3)

උදාහරණය

ඔබට විවිධ වර්ගයේ අනුක්රම ද පුනරාවර්තනය කළ හැකිය. ලූපයක් හරහා සහ zip ශ්‍රිතය හරහා සමූහයක් සහ tuple එකක් අපි ගමන් කරමු:

pythonst = {'a', 'b', 'c'}
tlp = (1, 2, 3)

for el in zip(st, tlp):
  print(el)

ක්‍රියාත්මක කළ කේතයේ ප්‍රතිඵලය:

python('a', 1)
('b', 2)
('c', 3)

උදාහරණය

එක් අනුක්රමයක දිග දෙවැන්නට වඩා වැඩි නම්, ඒවා කුඩා අනුක්රමයේ අංග අනුව පුනරාවර්තනය වේ:

pythonlst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]

for el in zip(lst1, lst2):
  print(el)

ක්‍රියාත්මක කළ කේතයේ ප්‍රතිඵලය:

python('a', 1)
('b', 2)
('c', 3)
('d', 4)

උදාහරණය

zip ශ්‍රිතය භාවිතා කරමින් ඔබට අනුක්රම තුනක් ද පුනරාවර්තනය කළ හැකිය. මේ සඳහා, ශ්‍රිතයේ පරාමිතියේ අපි ඒවා සියල්ලම කොමාවකින් වෙන් කර ලැයිස්තුගත කරමු:

pythonlst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']

for el in zip(lst1, lst2, lst3):
  print(el)

ක්‍රියාත්මක කළ කේතයේ ප්‍රතිඵලය:

python('a1', 'a2', 'a3')
('b1', 'b2', 'b3')
('c1', 'c2', 'c3')

ප්‍රායෝගික ගැටළු

Задание 1

ලැයිස්තු දෙකක් ලබා දී ඇත:

pythontst1 = [1, 3, 5]
tst2 = [2, 4, 6]

ඒවායේ අංග යුගල වශයෙන් tuple ආකාරයෙන් ප්‍රතිදානය කරන්න.

Задание 2

ලැයිස්තු දෙකක් ලබා දී ඇත:

pythontst1 = ['a', 'b', 'c']
tst2 = ['d', 'e', 'f']

ඒවායින් පහත ලැයිස්තුව ලබා ගන්න:

python['a', '1', 'b', '2', 'c', '3']
Задание 3

ලැයිස්තු තුනක් ලබා දී ඇත:

pythontst1 = [11, 12, 13, 14]
tst2 = [21, 22, 23, 24]
tst3 = [31, 32, 33, 34]

මෙම ලැයිස්තුවල අනුරූපී අංග එකතු කර එහි ප්‍රතිඵලය නව ලැයිස්තුවකට ලියන්න. එකතු කිරීම පහත පරිදි සිදු වේ:

python[
  11 + 21 + 31,
  12 + 22 + 32,
  13 + 23 + 33,
  14 + 24 + 34,
]