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 join adalah alat satu baris untuk ini.
  • Memanggil join terbalik: items.join(", "). String pemisah adalah objek yang kamu panggil .join padanya, 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() tanpa reverse=True, yang memberikan urutan menaik.
  • Lupa mengkonversi angka ke string sebelum join, yang memunculkan TypeError.

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, menghasilkan 504530. Gunakan join dengan " ".
  • Menggunakan scores[0:3] alih-alih scores[: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.