Python, enumerate() ශ්‍රිතය භාවිතා කිරීම: ලැයිස්තුවක මූලද්‍රව්‍ය සහ දර්ශක ලබා ගැනීම

ව්යාපාරික

Python හි enumerate() ශ්‍රිතය භාවිතයෙන්, ඔබට දර්ශක අංකය (ගණනය, අනුපිළිවෙල) මෙන්ම ලිස්ට් එකක් හෝ ටියුපල් වැනි පුනරාවර්තනය කළ හැකි වස්තුවක මූලද්‍රව්‍ය ලබා ගත හැක.

මෙම ලිපියෙන් enumerate() ශ්‍රිතයේ මූලික කරුණු පැහැදිලි කෙරේ.

  • for loop එකකට index ලබා ගැනීමේ කාර්යය:enumerate()
    • ලූප් සඳහා සාමාන්යය
    • ලූපය සඳහා enumerate() ශ්‍රිතය භාවිතා කරයි
  • enumerate() ශ්‍රිතයේ දර්ශකය 1 න් ආරම්භ කරන්න (ශුන්‍ය නොවන අගයක්)
  • වර්ධක (පියවර) සඳහන් කරන්න

enumerate() ශ්‍රිතය for loop එකක index ලබා ගැනීමට භාවිතා කල හැක.

ලූප් සඳහා සාමාන්යය

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

ලූපය සඳහා enumerate() ශ්‍රිතය භාවිතා කරයි

enumerate() ශ්‍රිතයේ තර්කය වැනි ලැයිස්තුවක් වැනි නැවත කළ හැකි වස්තුවක් සඳහන් කරන්න.

ඔබට එම අනුපිළිවෙලෙහි දර්ශක අංකය සහ මූලද්රව්යය ලබා ගත හැක.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

enumerate() ශ්‍රිතයේ දර්ශකය 1 න් ආරම්භ කරන්න (ශුන්‍ය නොවන අගයක්)

ඉහත උදාහරණයේ පෙන්වා ඇති පරිදි, පෙරනිමියෙන්, enumerate() ශ්‍රිතයේ දර්ශකය 0 සිට ආරම්භ වේ.

ඔබට 0 හැර වෙනත් අංකයකින් ආරම්භ කිරීමට අවශ්‍ය නම්, enumerate() ශ්‍රිතයේ දෙවන තර්කය ලෙස අත්තනෝමතික ආරම්භක අංකයක් සඳහන් කරන්න.

මුල සිට ආරම්භ කිරීමට, පහත සඳහන් දේ කරන්න.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

ඇත්ත වශයෙන්ම, ඔබට වෙනත් අංක සමඟ ආරම්භ කළ හැකිය.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

ඔබට අනුක්‍රමික අංක සහිත තන්තුවක් සෑදීමට අවශ්‍ය විට ප්‍රයෝජනවත් වේ; 1 සිට ආරම්භ කිරීමට ‘i+1’ භාවිතා කිරීමට වඩා enumerate() ශ්‍රිතයේ දෙවන තර්කය ලෙස ආරම්භක අංකය සඳහන් කිරීම වඩා දක්ෂයි.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

ශුන්‍ය වලින් සංඛ්‍යා පිරවීමට භාවිතා කරන ආකෘති ශ්‍රිතය පිළිබඳ වැඩි විස්තර සඳහා පහත ලිපිය බලන්න.

වර්ධක (පියවර) සඳහන් කරන්න

enumerate() ශ්‍රිතයේ වර්ධක පියවර සඳහන් කිරීමට තර්කයක් නැත, නමුත් පහත සඳහන් දෑ කිරීමෙන් එය සාක්ෂාත් කරගත හැක.

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie