neden max () yanlış miktarda yazdırıyor? [çiftleme]
Dec 23 2020
list = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
print(len(max(list[0])))
Çıkış: 7
neden çıktı 8 değil de 7?
print deyimini şu şekilde değiştirdiğimde:
print(len(max(list[0], key = len)))
işe yarıyor. Neden anlamıyorum Umarım biri bana yardım edebilir.
Teşekkürler
Yanıtlar
1 SneakyTurtle Dec 23 2020 at 00:44
Varsayılan olarak max işlevi, alfabetik olarak sıralanmış en yüksek değere sahip dizeyi döndürür. Hangi uzunluğu 8 olan "portakal" dır.
Anahtarı ikinci bir parametre olarak sağladığınızda, dizeleri alfabetik olarak değil uzunluklarına göre karşılaştırır.
FrankBlack78 Dec 23 2020 at 00:40
Çünkü max (liste [0]) 'portakallara' ve len ('portakallar') 7'ye eşittir.
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'