Pythonda elementlar va ularning indekslarini olish

Iteratsiya qilinadigan ob'ektdan nafaqat elementlar, balki ularning indekslarini ham chiqarish mumkin. Buning uchun enumerate funksiyasi qo‘llaniladi. Uning parametrida kerakli iteratsiya qilinadigan ob'ektni ko‘rsatamiz.

Misol

Faraz qilaylik, bizda lst ro‘yxati bor:

pythonlst = ['a', 'b', 'c']

Keling, undan elementlar va ularning indekslarini chiqaramiz. Element-indeks juftligini item o‘zgaruvchisi sifatida belgilaymiz, uni enumerate funksiyasiga uzatilgan ob'ektda qidiramiz:

pythonfor item in enumerate(lst):
  print(item)

Kod bajarilgandan so‘ng, indeks va elementdan tashkil topgan kortejlar chiqadi:

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

Misol

Elementlar va ularning indekslarini alohida olish uchun, ularni key va value o‘zgaruvchilari orqali "ochish" mumkin:

pythonfor item in enumerate(lst):
  key, value = item
  print(key)
  print(value)
  print()

Kodni bajarish natijasi:

python0, 'a'

1, 'b'

2, 'c'

Indekslar va elementlarni qisqartirilgan shaklda for blokida darhol yozish mumkin:

pythonfor key, value in enumerate(lst):
  print(key)
  print(value)
  print()

Amaliy vazifalar

Задание 1

Berilgan ro‘yxat:

pythontst = [8, 6, -4, 2, -1]

Elementlar qiymatlarini va ularning indekslarini birinchi manfiy songacha bo‘lgan qismida konsolga chiqaring.

Задание 2

Berilgan ro‘yxat:

pythontst = ['a', 'b', 'c', 'd', 'e']

Elementlar qiymatlarini va ularning indekslarini konsolga chiqaring:

python'a1'
'b2'
'c3'
'd4'
'e5'
Задание 3

Berilgan ro‘yxat:

pythontst = [1, 2, 3, 4, 5]

Juft pozitsiyalarda turgan elementlarni kvadratga, toq pozitsiyalarda turganlarini kubga ko‘taring.