Python, enumerate() işlevini kullanma: Bir listenin öğelerini ve dizinlerini alma

Python’un enumerate() işlevini kullanarak, bir for döngüsündeki liste veya tanımlama grubu gibi yinelenebilir bir nesnenin öğelerinin yanı sıra dizin numarasını (sayı, sıra) da alabilirsiniz.

Bu makale, enumerate() işlevinin temellerini açıklar.

  • Dizini for döngüsünde alma işlevi:enumerate()
    • döngü için normal
    • enumerate() işlevini kullanan döngü için
  • enumerate() işlevinin dizinini 1’de başlatın (sıfır olmayan bir değer)
  • Artışı belirtin (adım)

enumerate() işlevi, dizini bir for döngüsünde almak için kullanılabilir.

döngü için normal

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

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

enumerate() işlevini kullanan döngü için

enumerate() işlevinin bağımsız değişkeni olarak liste gibi yinelenebilir bir nesne belirtin.

İndeks numarasını ve elemanı bu sırayla alabilirsiniz.

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

enumerate() işlevinin dizinini 1’de başlatın (sıfır olmayan bir değer)

Yukarıdaki örnekte gösterildiği gibi, varsayılan olarak enumerate() işlevinin dizini 0’dan başlar.

0’dan farklı bir sayı ile başlamak istiyorsanız, enumerate() işlevinin ikinci bağımsız değişkeni olarak rastgele bir başlangıç ​​numarası belirtin.

Sıfırdan başlamak için aşağıdakileri yapın.

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

Tabii ki, diğer sayılarla başlayabilirsiniz.

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

Sıralı olarak numaralandırılmış bir dizi oluşturmak istediğinizde kullanışlıdır; enumerate() işlevinin ikinci argümanı olarak başlangıç ​​numarasını belirtmek, 1’den başlamak için ‘i+1’ kullanmaktan daha akıllıdır.

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

Sayıları sıfırlarla doldurmak için kullanılan biçim işlevi hakkında daha fazla bilgi için aşağıdaki makaleye bakın.

Artışı belirtin (adım)

enumerate() işlevinde artımlı adımı belirtmek için bir argüman yoktur, ancak aşağıdakileri yaparak elde edilebilir.

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