Гирифтани элементҳо ва индекси онҳо дар Python
Аз объекти итератшаванда натанҳо элементҳо, балки индекси онҳоро ҳам метавон барона кард. Барои ин функсияи enumerate истифода мешавад. Дар параметраш объекти итератшавандаи дархостшавандаро муайян мекунем.
Намуна
Фарз кунем, ки мо рӯйхати lst дорем:
lst = ['a', 'b', 'c']
Биёед аз он элементҳоро бо индекси онҳо барона кунем. Ҷуфти элемент-индексро ҳамчун тағйирёбандаи item нишон медиҳем, ки онро дар объекти додашуда ба функсияи enumerate меҷӯем:
for item in enumerate(lst):
print(item)
Пас аз иҷрои рамз, кортежҳо аз индекс ва элемент бароварда мешаванд:
(0, 'a')
(1, 'b')
(2, 'c')
Намуна
Барои он ки элементҳо ва индекси онҳоро ҷудо гирем, метавон онҳоро бо ду тағйирёбандаи key ва value кушод:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Натиҷаи иҷрои рамз:
0, 'a'
1, 'b'
2, 'c'
Дар шакли кӯтоҳкардашуда индексҳо ва элементҳоро ҳамон дар блоки for навишт:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Масъалаҳои амалӣ
Рӯйхат дода шудааст:
tst = [8, 6, -4, 2, -1]
Дар консол қиматҳои элементҳо ва индекси онҳоро то аввалин адади манфӣ барона кунед.
Рӯйхат дода шудааст:
tst = ['a', 'b', 'c', 'd', 'e']
Дар консол қиматҳои элементҳо ва индекси онҳоро барона кунед:
'a1'
'b2'
'c3'
'd4'
'e5'
Рӯйхат дода шудааст:
tst = [1, 2, 3, 4, 5]
Элементҳое, ки дар ҷойгоҳҳои ҷуфт қарор доранд, ба квадрат бардоред, ва тоқҳоро ба куб.