Sayaçlarla Döngüler Oluşturmak için Python'da Numaralandırma İşlevini Kullanın

Use Enumerate Function Python Create Loops With Counters



Bu makale, Python'un standart modül kitaplığında bulunan numaralandırma işlevinin kullanımını açıklayacaktır. Numaralandır işlevi, yinelenebilir herhangi bir nesnedeki öğelere bir dizin veya sayı atamanıza olanak tanır. Daha sonra, hem değerlere hem de onunla eşlenen bir sayıya erişiminiz olacağından, bunlara daha fazla mantık uygulayabilirsiniz.

Sözdizimi ve Temel Örnek

Diğer programlama dillerinde, özellikle C dili ve C tarzı sözdizimine sahip diğer dillerde bir for döngüsü kullandıysanız, döngüde bir başlangıç ​​dizini belirtmiş olabilirsiniz. Başvuru için, C'de ve benzer sözdizimine sahip diğer dillerde bir for döngüsü şöyle görünür:







için (intben= 0;ben< 10;ben++)

{

baskı ('%NS ',ben);

}

Döngü ifadesi, sıfır değerine sahip bir değişkeni başlatır, bir eşikten küçük olup olmadığını kontrol eder ve döngü bloğu içindeki mantığı değerlendirdikten sonra (durma koşulu karşılanırsa) bir sayıyla artırır. Bu şekilde bir dizin kullanabilir ve onu döngü bloğunuzda referans verilen herhangi bir nesneye atayabilirsiniz. Buna karşılık, Python'da aynı sonuca sahip bir for döngüsü şöyle görünür:



içinbeniçinde Aralık(0, 10):

Yazdır (ben)

Python'daki aralık işlevi, varsayılan adımı 1 olan bir sayı aralığı dizisi belirlemenizi sağlar. Üçüncü bir bağımsız değişken sağlayarak adım değerini değiştirebilirsiniz. Aralık işlevindeki ikinci argüman, durma koşulu için eşiği ayarlamak için kullanılır. Her iki kod örneği de aşağıdaki çıktıyı üretir:



0

1

2

3

4

5

6

7

8

9

Bu döngüler, yalnızca bir sayı dizisi oluşturmak ve bunları döngü ifadesinin içindeki bir mantıkla ilişkilendirmek istiyorsanız iyi çalışır. Ancak, bunlara bir tür izlenebilir sayı atamak için başka bir iç içe döngü kullanmanız veya herhangi bir yinelenebilir türde verim işlevini kullanmanız gerekebilir. Enumerate yöntemi, tek bir ifadede yinelenebilirlere dizin atamayı kolaylaştırır, böylece birden çok iç içe döngü çalıştırma ihtiyacını ortadan kaldırır. Bu kod örneğine bir göz atın:





sayılar= ['sıfır', 'bir', '2', 'üç', 'dört', 'beş']

numaralandırılmış_numbers= listelenmiş(sayılar)

içindizin,kalemiçindenumaralandırılmış_sayılar:

Yazdır (dizin,kalem)

İlk ifade, sayılar adı verilen yeni bir değişken tanımlar ve buna yinelenebilir (liste tipi) bir değişken atar. İkinci ifade, zorunlu bir bağımsız değişken olarak yinelenebilir bir öğe sağladığınız numaralandırma işlevinin kullanımını gösterir. Üçüncü ifade, enumerated_numbers değişkenini liste tipi bir nesneye dönüştürür. Varsayılan olarak, numaralandırma işlevi yinelenebilir bir tür değil, bir numaralandırma türü nesnesi oluşturur, bu nedenle onu dönüştürmeniz gerekir. Yukarıda bahsedilen kod örneğini çalıştırdıktan sonra aşağıdaki çıktıyı almalısınız:

[(0, 'sıfır'), (1, 'bir'), (2, 'iki'), (3, 'üç'), (4, 'dört'), (5, 'beş')]

Numaralandırma işlevi, yinelenebilir bir türdeki her öğeye bir sayı atar ve eşleştirilmiş değerlere sahip tanımlama grupları oluşturur. Varsayılan olarak, sayım sıfırdan başlar.



Artık yinelenebilir bir türdeki her öğeye bir sayı atadığınıza göre, iç içe ifadeler yazmadan kolayca döngüye girebilirsiniz:

sayılar= ['sıfır', 'bir', '2', 'üç', 'dört', 'beş']

numaralandırılmış_numbers= listelenmiş(sayılar)

içindizin,kalemiçindenumaralandırılmış_sayılar:

Yazdır (dizin,kalem)

Yukarıda belirtilen kod örneği aşağıdaki çıktıyı üretecektir:

0 sıfır

1 bir

2 iki

3 üç

4 dört

5 beş

Aşağıdaki örnekte gösterildiği gibi satır içi numaralandırma işlevini kullanarak kodu kısaltabilirsiniz:

sayılar= ['sıfır', 'bir', '2', 'üç', 'dört', 'beş']

içindizin,kalemiçinde listelenmiş(sayılar):

Yazdır (dizin,kalem)

Numaralandırmayı Farklı Bir Başlangıç ​​Dizini ile Kullanma

Numaralandırma işlevi, bir başlangıç ​​dizini belirtebileceğiniz isteğe bağlı bir bağımsız değişken alır. Varsayılan olarak sıfırdır, ancak bunu start argümanını kullanarak değiştirebilirsiniz:

sayılar= ['bir', '2', 'üç', 'dört', 'beş']

içindizin,kalemiçinde listelenmiş(sayılar,Başlat=1):

Yazdır (dizin,kalem)

İkinci ifadede, başlangıç ​​noktasını değiştirmek için start=1 argümanı kullanılır. Yukarıda belirtilen kod örneğini çalıştırdıktan sonra aşağıdaki çıktıyı almalısınız:

1 bir

2 iki

3 üç

4 dört

5 beş

Adımlarla Dizin Atama

Bu makalenin ilk bölümünde, sonraki her sayım veya dizin arasındaki adımları tanımlayabileceğiniz C dilinde for döngüsü için sözdizimi gösterilir. Python'daki numaralandırma işlevinin böyle bir argümanı yoktur, bu nedenle sayımlar arasında bir adım belirtemezsiniz. Numaralandırılmış for döngüsü bloğunun içindeki adımları uygulamak için gerçekten kendi mantığınızı yazabilirsiniz. Ancak, minimum kod yazarak özel adımları uygulamanın bir yolu vardır. Aşağıdaki örnek, zip ve aralık işlevlerini kullanarak adımların uygulanmasını gösterir:

sayılar= ['sıfır', '2', 'dört', 'altı']

içindizin,kalemiçinde fermuar(Aralık(0, 7, 2),sayılar):

Yazdır (dizin,kalem)

Zip işlevi, iki veya daha fazla yinelenebilir öğeden aynı dizine sahip öğeleri alarak çiftler oluşturmanıza olanak tanır. Yani buradaki Zip işlevi, range(0, 7, 2) işlevinden döndürülen yinelenebilir öğeden bir öğeyi ve sayılar listesinden başka bir öğeyi alır ve ardından ikisini bir demet halinde eşleştirir. Sonuç, numaralandırma işleviyle aynı bir uygulamadır, ancak aralık (0, 7, 2) işlevinde (bu durumda 2) üçüncü bir bağımsız değişken olarak belirtilen özel adımlar vardır. Yukarıda belirtilen kod örneğini çalıştırdıktan sonra aşağıdaki çıktıyı almalısınız:

0 sıfır

2 iki

4 dört

6 altı

Çözüm

Python'daki numaralandırma işlevi, yinelenebilir bir nesnedeki öğelere bir sayı dizisi atayarak kısa kod yazmanıza olanak tanır. Yinelenebilir bir tür içindeki öğelerin dizinini takip etmek istiyorsanız bu gerçekten yararlıdır. Yinelenebilir türleri özel adımlarla numaralandırmak istiyorsanız, son örnekte açıklanan zip işlevini kullanın.