Python හි ටියුපල් සහ ලැයිස්තු ඉවත් කරන්න (විවිධ විචල්‍යවලට පුළුල් කරන්න සහ පැවරීම)

ව්යාපාරික

පයිතන් හි, ටියුපල් හෝ ලැයිස්තුවක මූලද්‍රව්‍ය පුළුල් කර බහු විචල්‍යයන් වෙත පැවරිය හැක. මෙය අනුපිළිවෙලින් ඇසුරුම් කිරීම හෝ ඇසුරුම් නොකළ පැවරුම ලෙස හැඳින්වේ.

පහත විස්තර මෙහි විස්තර කර ඇත.

  • ටියුපල් සහ ලිස්ට් වල මූලික කරුණු ඉවත් කිරීම
  • කැදලි ටුපල්, ඇසුරුම් නොකළ ලැයිස්තුගත කිරීම්
  • යටි ඉරි සහිත ඇසුරුම් ඉවත් කිරීම:_
  • තරු ලකුණු සමඟ ඇසුරුම් කිරීම:*

ටියුපල්, ලැයිස්තු සහ ශබ්දකෝෂ ක්‍රියාකාරී තර්ක ලෙස පුළුල් කිරීමට සහ සම්මත කිරීමට තරු ලකුණු භාවිතා කිරීම පිළිබඳ තොරතුරු සඳහා පහත ලිපිය බලන්න.

ටියුපල් සහ ලිස්ට් වල මූලික කරුණු ඉවත් කිරීම

විචල්‍යයන් වම් පස ලියා ඇති විට, කොමාවෙන් වෙන් කර ඇති විට, සෑම විචල්‍යයකටම දකුණු පස ඇති ටුපල් හෝ ලැයිස්තුවේ මූලද්‍රව්‍යයක් පවරනු ලැබේ. එය ටියුපල් සහ ලිස්ට් යන දෙකටම සමාන වේ (පහත දැක්වෙන උදාහරණ ටුපල් ආකාරයෙන් ලියා ඇත).

t = (0, 1, 2)

a, b, c = t

print(a)
print(b)
print(c)
# 0
# 1
# 2

l = [0, 1, 2]

a, b, c = l

print(a)
print(b)
print(c)
# 0
# 1
# 2

Tuples හට වටකුරු වරහන් මඟ හැරිය හැකි බැවින්, මෙය පහත පරිදි තනි පේළියක බහු විචල්‍යයන් සඳහා බහු අගයන් පැවරීමට භාවිතා කළ හැකි බව සලකන්න.

a, b = 0, 1

print(a)
print(b)
# 0
# 1

විචල්‍ය ගණන මූලද්‍රව්‍ය ගණනට නොගැලපේ නම්, දෝෂයක් ඇතිවේ.

# a, b = t
# ValueError: too many values to unpack (expected 2)

# a, b, c, d = t
# ValueError: not enough values to unpack (expected 4, got 3)

විචල්‍ය සංඛ්‍යාව මූලද්‍රව්‍ය ගණනට වඩා අඩු නම්, විචල්‍ය නාමයට තරු ලකුණක් එක් කිරීමෙන් ඉතිරි මූලද්‍රව්‍ය ලැයිස්තුවක් ලෙස පැවරිය හැක (පහත බලන්න).

කැදලි ටුපල්, ඇසුරුම් නොකළ ලැයිස්තුගත කිරීම්

කැදලි ටියුපල් සහ ලිස්ට් ද ඉවත් කළ හැක. ඔබට අන්තර්ගතය ඉවත් කිරීමට අවශ්‍ය නම්, විචල්‍යය පහත ඒවායින් එකකට ඇතුළත් කරන්න

  • ()
  • []
t = (0, 1, (2, 3, 4))

a, b, c = t

print(a)
print(b)
print(c)
# 0
# 1
# (2, 3, 4)

print(type(c))
# <class 'tuple'>

a, b, (c, d, e) = t

print(a)
print(b)
print(c)
print(d)
print(e)
# 0
# 1
# 2
# 3
# 4

_underscore_ සමඟ ඇසුරුම් කර නැත.

Python හි, ඇසුරුම් නොකළ පමණක් නොව, අවශ්‍ය නොවන අගයන් සාම්ප්‍රදායිකව යටි ඉරි (යටි ඉරි) වෙත පවරනු ලැබේ. විශේෂ ව්යාකරණ අර්ථයක් නොමැත; ඒවා සරලවම _ නම් වූ විචල්‍යයකට පවරා ඇත.

t = (0, 1, 2)

a, b, _ = t

print(a)
print(b)
print(_)
# 0
# 1
# 2

තරු ලකුණු සමඟ ඇසුරුම් කිරීම

විචල්‍ය සංඛ්‍යාව මූලද්‍රව්‍ය ගණනට වඩා අඩු නම්, විචල්‍ය නාමයේ තරු ලකුණක් මඟින් මූලද්‍රව්‍ය එකට ලැයිස්තුවක් ලෙස පැවරීමට හේතු වේ.

මෙම වාක්‍ය ඛණ්ඩය Python 3 සිට ක්‍රියාත්මක කර ඇති අතර Python 2 හි නොමැත.

මූලද්‍රව්‍ය තරු ලකුණු නොමැති විචල්‍ය වලට මුල සිට අග දක්වා ඇති අතර ඉතිරි මූලද්‍රව්‍ය තරු ලකුණු සහිත විචල්‍ය වලට ලැයිස්තුවක් ලෙස පවරනු ලැබේ.

t = (0, 1, 2, 3, 4)

a, b, *c = t

print(a)
print(b)
print(c)
# 0
# 1
# [2, 3, 4]

print(type(c))
# <class 'list'>

a, *b, c = t

print(a)
print(b)
print(c)
# 0
# [1, 2, 3]
# 4

*a, b, c = t

print(a)
print(b)
print(c)
# [0, 1, 2]
# 3
# 4

උදාහරණයක් ලෙස, ඔබට tuple එකක හෝ ලැයිස්තුවක මුල් මූලද්‍රව්‍ය දෙක පමණක් විචල්‍යයකට පැවරීමට අවශ්‍ය නම්, ඔබට අවශ්‍ය නොවන කොටස් සඳහා ඉහත යටි ඉරි භාවිතා කළ හැක.

a, b, *_ = t

print(a)
print(b)
print(_)
# 0
# 1
# [2, 3, 4]

එයම මෙසේද ලිවිය හැක

a, b = t[0], t[1]

print(a)
print(b)
# 0
# 1

එක් තරු ලකුණක් පමණක් ඇමිණිය හැකිය. තරු ලකුණකින් සලකුණු කර ඇති විචල්‍ය කිහිපයක් තිබේ නම්, එක් එක් විචල්‍යයට කොපමණ මූලද්‍රව්‍ය ප්‍රමාණයක් ලබා දී ඇත්ද යන්න තීරණය කළ නොහැකි නිසා SyntaxError දෝෂයක් ඇති වේ.

# *a, b, *c = t
# SyntaxError: two starred expressions in assignment

තරු ලකුණකින් සලකුණු කරන ලද විචල්‍යයකට පවරා ඇති එක් මූලද්‍රව්‍යයක් පවා ලැයිස්තුවක් ලෙස පවරන බව සලකන්න.

t = (0, 1, 2)

a, b, *c = t

print(a)
print(b)
print(c)
# 0
# 1
# [2]

print(type(c))
# <class 'list'>

අමතර මූලද්රව්ය නොමැති නම්, හිස් ලැයිස්තුවක් පවරනු ලැබේ.

a, b, c, *d = t

print(a)
print(b)
print(c)
print(d)
# 0
# 1
# 2
# []
Copied title and URL