24. List methods — Solusi Pekerjaan Rumah
File solusi .py ada di
exercises/24/homework/solutions/.
Soal 1 — Baris belanjaan
Soal. Cetak list nama dalam satu baris dipisahkan koma.
Solusi.
items = ["milk", "bread", "eggs", "apples"]
print(", ".join(items))Output:
milk, bread, eggs, apples
Kesalahan umum.
- Membangun baris secara manual dengan loop dan penggabungan string.
Itu bekerja, tapi
joinadalah alat satu baris untuk ini. - Memanggil
jointerbalik:items.join(", "). String pemisah adalah objek yang kamu panggil.joinpadanya, bukan list-nya.
Soal 2 — Tinggi ke rendah
Soal. Urutkan angka dari tertinggi ke terendah, lalu cetak.
Cara berpikir. Panggil
.sort(reverse=True) untuk mendapatkan urutan menurun, lalu
join dengan pemisah spasi. join membutuhkan
string, jadi konversi setiap angka dengan str.
Solusi.
nums = [30, 12, 7, 24]
nums.sort(reverse=True)
print(" ".join(str(n) for n in nums))Output:
30 24 12 7
Kesalahan umum.
- Memanggil
.sort()tanpareverse=True, yang memberikan urutan menaik. - Lupa mengkonversi angka ke string sebelum
join, yang memunculkanTypeError.
Soal 3 — Leaderboard
Soal. Urutkan nama secara alfabet dan cetak list bernomor.
Cara berpikir. .sort() tanpa argumen
mengurutkan teks secara alfabet. Lalu telusuri dengan
enumerate(players, 1), cetak posisi dan nama.
Solusi.
players = ["Ben", "Ada", "Cara", "Dan"]
players.sort()
for i, name in enumerate(players, 1):
print(f"{i}. {name}")Output:
1. Ada
2. Ben
3. Cara
4. Dan
Tantangan — Tiga teratas
Soal. Urutkan dari tertinggi pertama dan cetak tiga teratas.
Cara berpikir. Urutkan secara menurun, lalu ambil
slice tiga elemen pertama dan join semuanya.
Solusi.
scores = [30, 12, 45, 7, 24, 50]
scores.sort(reverse=True)
top = scores[:3]
print(" ".join(str(n) for n in top))Output:
50 45 30
Kesalahan umum.
- Mencetak
str(scores[0]) + str(scores[1]) + str(scores[2])tanpa spasi, menghasilkan504530. Gunakanjoindengan" ". - Menggunakan
scores[0:3]alih-alihscores[:3]. Keduanya bekerja; bentuk yang lebih pendek adalah konvensi.
Selesai?
Kamu sekarang punya alat list Python paling berguna:
.sort(), sorted(), .reverse(),
join, .copy(), .index(),
.count(), dan sedikit rasa list comprehension. Bab terakhir
Part 5 — Module dan import — menunjukkan cara
memisahkan program ke beberapa file.