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.
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'