mengapa max () mencetak jumlah yang salah? [duplikat]
list = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
print(len(max(list[0])))
Hasil: 7
mengapa keluaran 7 dan bukan 8?
ketika saya mengubah pernyataan cetak menjadi:
print(len(max(list[0], key = len)))
berhasil. Saya tidak mengerti kenapa. Saya berharap seseorang dapat membantu saya.
Terima kasih
Jawaban
1 SneakyTurtle
Secara default, fungsi max mengembalikan string dengan nilai tertinggi, diurutkan menurut abjad. Yaitu "jeruk", yang panjangnya 8.
Saat Anda memberikan kunci sebagai parameter kedua, ia membandingkan string dengan panjangnya dan bukan menurut abjad.
FrankBlack78
Karena max (list [0]) sama dengan 'jeruk' dan len ('jeruk') sama dengan 7.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'