mengapa max () mencetak jumlah yang salah? [duplikat]
 Dec 23 2020
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 Dec 23 2020 at 00:44
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 Dec 23 2020 at 00:40
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
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'