List
List berisi 5 item memiliki indeks 0 sampai 4, sehingga menu[4] adalah item terakhir, sedangkan menu[5] menghentikan program dengan IndexError.
Satu variabel dapat menyimpan seluruh menu
Menu makan siang sekolah memiliki beberapa hidangan, dan daftar belanja memiliki beberapa item. Kamu bisa membuat satu variabel per hidangan, dish1, dish2, dish3, tetapi cara itu bermasalah saat menu bertambah. List menyimpan berapa pun banyaknya nilai dalam satu variabel secara berurutan. Tulis nilai di antara kurung siku, dipisahkan koma.
menu = ["rice", "seaweed soup", "bulgogi", "kimchi", "milk"]
print(menu)
print(len(menu))
print(menu[0], menu[-1])['rice', 'seaweed soup', 'bulgogi', 'kimchi', 'milk']
5
rice milkList menggunakan indeks yang sama dengan string: 0 untuk item pertama, -1 untuk yang terakhir, dan irisan seperti menu[1:3]. len() memberikan jumlah item. Saat seluruh list dicetak, Python menampilkan kurung siku dan mengapit setiap string dengan tanda kutip tunggal, sehingga awal dan akhir setiap item terlihat jelas.
Berbeda dengan string, list dapat diubah
String tidak bisa disunting langsung, tetapi list bisa. Beri nilai pada suatu indeks untuk mengganti item. append() menambahkan item di akhir, remove() menghapus nilai pertama yang cocok, dan pop() mengambil item terakhir lalu mengembalikannya kepadamu. Kata kunci in memeriksa apakah suatu nilai terdapat dalam list. Metode ini mengubah list itu sendiri, perbedaan utama dibandingkan metode string.
cart = ["eggs", "milk"]
cart.append("tofu")
cart[0] = "ramen"
print(cart)
cart.remove("milk")
last = cart.pop()
print(cart, last)
print("tofu" in cart)['ramen', 'milk', 'tofu']
['ramen'] tofu
False| Setelah baris ini | cart |
|---|---|
| cart = ["eggs", "milk"] | ['eggs', 'milk'] |
| cart.append("tofu") | ['eggs', 'milk', 'tofu'] |
| cart[0] = "ramen" | ['ramen', 'milk', 'tofu'] |
| cart.remove("milk") | ['ramen', 'tofu'] |
| last = cart.pop() | ['ramen'] (yang terakhir adalah 'tofu') |
List angka memiliki alat siap pakai
Untuk list angka, sum(), min(), dan max() bekerja sesuai namanya. sorted() mengembalikan list baru yang terurut tanpa mengubah yang asli, sedangkan metode sort() mengurutkan list itu sendiri dan tidak mengembalikan nilai. Rata-rata adalah jumlah dibagi banyaknya item, salah satu kegunaan len().
scores = [72, 95, 88, 64, 81]
print(sum(scores), min(scores), max(scores))
print(sum(scores) / len(scores))
print(sorted(scores))
print(scores)400 64 95
80.0
[64, 72, 81, 88, 95]
[72, 95, 88, 64, 81]Dua nama dapat merujuk ke list yang sama
Bagian ini menjebak hampir semua orang. Setelah b = a, tidak ada dua list. Hanya ada satu list dengan dua nama. Ubah melalui b, dan perubahan terlihat melalui a juga karena a dan b adalah list yang sama. Pada angka dan string, hal ini tidak terlihat karena keduanya tidak dapat diubah langsung. Pada list, perbedaannya terlihat. Jika ingin salinan terpisah, buat dengan a.copy() atau irisan a[:].
a = ["rice", "soup"]
b = a
b.append("kimchi")
print(a)
c = a.copy()
c.append("egg")
print(a)
print(c)['rice', 'soup', 'kimchi']
['rice', 'soup', 'kimchi']
['rice', 'soup', 'kimchi', 'egg']List dan perulangan saling melengkapi. List berisi 30 nilai ujian baru berguna jika program dapat mengunjungi semuanya tanpa menulis 30 baris terpisah. Itulah yang dilakukan perulangan for pada unit perulangan. Sebelum itu, sum(), min(), max(), dan len() mengunjungi nilai-nilai itu untukmu, masing-masing dengan satu pemanggilan.
| list | Nilai berurutan di antara [ ], dipisahkan koma |
| append(x) | Menambahkan x di akhir list |
| remove(x) | Menghapus item pertama yang sama dengan x |
| pop() | Mengambil item terakhir dan mengembalikannya |
| sorted(list) | List baru yang terurut; yang asli tidak berubah |
| list.sort() | Mengurutkan list itu sendiri dan mengembalikan None |
| a.copy() | Salinan terpisah dari list a |
- Apa yang dicetak kode ini?
nums = [10, 20, 30, 40] print(nums[2]) - Apa yang dicetak kode ini?
nums = [10, 20, 30, 40] print(nums[-1] + nums[0]) - Apa yang dicetak kode ini?
bag = ["pen"] bag.append("ruler") bag.append("eraser") print(len(bag)) - Apa yang dicetak kode ini?
x = [3, 1, 2] y = sorted(x) print(x, y)[3, 1, 2] [1, 2, 3][1, 2, 3] [1, 2, 3][1, 2, 3] [3, 1, 2][3, 1, 2] None
- Apa yang dicetak kode ini?
x = [3, 1, 2] y = x.sort() print(x, y)[3, 1, 2] [1, 2, 3][1, 2, 3] [1, 2, 3][1, 2, 3] NoneKesalahan
- Apa yang dicetak kode ini?
a = [1, 2] b = a b.append(3) print(a)[1, 2][1, 2, 3][3]Kesalahan
- Apa yang dicetak kode ini?
marks = [70, 90, 80] print(sum(marks) / len(marks)) - Apa yang dicetak kode ini?
stations = ["Seoul", "Yongsan", "Noryangjin", "Daebang"] print(stations[1:3]) - Apa yang dicetak kode ini?
stack = ["a", "b", "c"] top = stack.pop() print(top, len(stack)) - Apa yang dicetak kode ini?
print("milk" in ["eggs", "milk", "tofu"]) - Urutkan baris agar program mencetak list di bawah.Keluaran
['homework', 'piano']
- "Item terakhir adalah menu[len(menu)]." Dengan 5 item, indeks berakhir pada 4, sehingga menu[5] berhenti dengan IndexError: list index out of range. Gunakan menu[-1] atau menu[len(menu) - 1].
- "menu = menu.append(x) menyimpan list baru." append() mengubah list dan mengembalikan None, sehingga baris ini mengganti seluruh list dengan None. Tulis menu.append(x) pada baris tersendiri.
- "b = a memberiku cadangan list." Itu memberi nama kedua pada list yang sama. Perubahan melalui salah satu nama terlihat pada keduanya. Gunakan b = a.copy() untuk salinan sebenarnya.
- List menyimpan nilai secara berurutan: [a, b, c].
- Indeks dan irisan bekerja seperti pada string; indeks terakhir adalah len - 1.
- append, remove, pop, dan penugasan melalui indeks mengubah list itu sendiri.
- sorted() mengembalikan list baru; sort() mengubah list dan mengembalikan None.
- b = a berbagi satu list; gunakan a.copy() untuk list terpisah.
Sumber kursus ini (6)
- Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
- Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
- Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
- General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
- Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
- Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)
Diperiksa: 2026-10-19