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.
- İlgili Makaleler:Python’un format() işleviyle doldurulmuş sıfırlar, onaltılık sayılar vb. çıktısı alma
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