Materi
Tumpukan (stack) adalah struktur yang hanya boleh ditambah dan diambil dari satu ujung, yaitu puncaknya. Data yang terakhir masuk adalah data pertama yang keluar, disingkat LIFO. Operasinya tiga: dorong (push) menaruh data di puncak, ambil (pop) mengeluarkan data di puncak, dan intip (peek) membaca puncak tanpa mengeluarkannya.
Di Python, list sudah menjadi tumpukan yang cepat asalkan puncaknya ujung kanan: append() mendorong, pop() tanpa argumen mengambil, dan daftar[-1] mengintip. Ketiganya tidak bergantung pada panjang list. Tumpukan muncul di mana pun yang dibutuhkan adalah kembali ke keadaan terakhir: tombol kembali di peramban, batal di penyunting teks, dan tumpukan panggilan fungsi yang menjalankan rekursi di modul 1.
riwayat = []
for halaman in ["beranda", "katalog", "produk-12"]:
riwayat.append(halaman) # setiap halaman baru didorong
kembali_ke = riwayat.pop() # "produk-12" keluar lebih dulu
print(riwayat[-1]) # "katalog" kini di puncakPemeriksaan kurung adalah contoh klasik. Setiap kurung buka didorong ke tumpukan. Setiap kurung tutup harus cocok dengan kurung buka di puncak, lalu puncaknya diambil. Teks dinyatakan seimbang kalau semua kurung tutup menemukan pasangannya dan tumpukan kosong di akhir. Menghitung jumlah kurung buka dan tutup saja tidak cukup, karena )( punya jumlah yang sama tetapi urutannya salah.