Python, enumerate() функциясын пайдалану: тізімнің элементтері мен индекстерін алу

Іскерлік

Python-ның enumerate() функциясын пайдалана отырып, индекс нөмірін (санау, реттілік), сондай-ақ for цикліндегі тізім немесе кортеж сияқты қайталанатын нысанның элементтерін алуға болады.

Бұл мақала enumerate() функциясының негіздерін түсіндіреді.

  • for цикліндегі индексті алу функциясы:enumerate()
    • Қалыпты for циклі
    • Enumerate() функциясын қолданатын цикл үшін
  • enumerate() функциясының индексін 1-ден бастаңыз (нөлден басқа мән)
  • Өсімдікті (қадам) көрсетіңіз

for цикліндегі индексті алу үшін enumerate() функциясын пайдалануға болады.

Қалыпты for циклі

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
Copied title and URL