Giáo trình Python - Bài 6: Kiểu list và dictionaries

pdf 46 trang Kim Kim 13/03/2026 90
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Python - Bài 6: Kiểu list và dictionaries", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_python_bai_6_kieu_list_va_dictionaries.pdf

Nội dung text: Giáo trình Python - Bài 6: Kiểu list và dictionaries

  1. BÀI 6: KIỂU LIST VÀ DICTIONARIES
  2. BIẾN RIÊNG LẺ Mỗi biến chỉ lưu một giá trị. Khi đặt giá trị $ python mới cho biến thì giá trị cũ sẽ bị ghi đè >>> x = 2 >>> x = 4 >>> print(x) 4
  3. BIẾN TẬP HỢP (COLLECTION) LÀ GÌ § Tập hợp là một khái niệm hữu dụng trong ngôn ngữ lập trình bởi nó cho phép người lập trình lưu trữ nhiều giá trị trong một thực thể và có thể sử dụng tập hợp đó như một thực thể riêng lẻ. § Chúng ta có nhiều giá trị được lưu trong chỉ một biến bằng cách cấp phát nhiều vùng nhớ cho một biến và cách thức để truy cập đến các vùng nhớ đó thông qua tên biến
  4. BIẾN TẬP HỢP § Danh sách – List • Là một tập tuyến tính các giá trị được sắp theo theo thứ tự § Từ điển – Dictionary • Là một túi (“bag”) giá trị trong đó mỗi giá trị đều có nhãn riêng
  5. KIỂU DANH SÁCH list § Cách khai báo và sử dụng kiểu danh sách list
  6. KIỂU DANH SÁCH list Tên danh sách § Kiểu danh sách list trong Python tương tự như mảng 1 chiều trong C++ c[0] -56 • Là một nhóm các vùng nhớ liền nhau c[1] 10 • Sử dụng cùng một tên c[2 2 § Khác kiểu mảng trong C++: c[3] 100 • Các phần tử trong list không cần cùng kiểu dữ liệu c[4] 2345 § Truy cập đến phần tử của danh sách: danh sách c 5 54 c có n (n=10) phần tử, truy cập vào từng phần [ ] tử bằng [ ] c[6] hoa • Tên danh sách và thứ tự của phần tử trong list c[7] -876 • Ví dụ: c[0], c[1], c[n-1] c[8] [1,2] • Phần tử đầu tiên theo mặc định có thứ tự là 0 c[9] 10 Chỉ số của phần tử trong danh sách c
  7. KIỂU DANH SÁCH list § Mỗi phần tử của list như một biến bình thường c[0] = 3 print(c[0]) § Chỉ số của các phần tử có thể là hằng số, có thể là biểu thức có kiểu rời rạc § Ví dụ nếu i = 3 thì c[5-2], c[3], c[i] là tương đương nhau § Thường dùng một biến kiểu rời rạc làm chỉ số chạy qua các phần tử của danh sách
  8. TẠO DANH SÁCH list § Tạo danh sách theo cú pháp: = [ptu_1, ptu_2, ptu_n] • Tên danh sách • Danh sách phần tử khởi tạo § Ví dụ: friends = [ 'Joseph', 'Glenn', 'Sally' ] numbers = [ 1, 3, 5, 7 ] Mixed = [”dogs”, 1, 3, “cat”]
  9. DANH SÁCH HẰNG § Danh sách hằng được biểu diễn bởi >>> print([1, 24, 76]) tập các phần tử hằng phân tách [1, 24, 76] >>> print(['red', 'yellow', nhau bởi dấu phẩy và đặt trong một 'blue']) cặp ngoặc vuông “[]” ['red', 'yellow', 'blue'] >>> print(['red', 24, 98.6]) § Mỗi phần tử của danh sách có thể là ['red', 24, 98.6] >>> print([ 1, [5, 6], 7]) đối tượng bất kỳ trong python, thậm [1, [5, 6], 7] chí có thể là một danh sách khác >>> print([]) [] § Một danh sách có thể rỗng
  10. SỬ DỤNG DANH SÁCH § Làm vùng lặp trong lệnh lặp for 5 4 for i in [5, 4, 3, 2, 1] : print(i) 3 print(‘Het!') 2 1 Het!
  11. DUYỆT DANH SÁCH VỚI LỆNH LẶP friends = ['Joseph', 'Glenn', 'Sally'] for friend in friends : print('Happy New Year:', friend) Happy New Year: Joseph print('Done!') Happy New Year: Glenn Happy New Year: Sally Done! z = ['Joseph', 'Glenn', 'Sally'] for x in z: print('Happy New Year:', x) print('Done!')
  12. BẢN CHẤT CỦA DANH SÁCH list Truy cập đến phần tử bất kỳ thông qua chỉ số đặt trong cặp ngoặc vuông >>> friends = [ 'Joseph', 'Glenn', 'Sally' ] Joseph Glenn Sally >>> print(friends[1]) Glenn 0 1 2 >>>
  13. DANH SÁCH LIST LÀ THAY ĐỔI ĐƯỢC (MUTABLE) § Xâu kí tự (string) là không thể thay >>> fruit = 'Banana' đổi (immutable) – không thể thay đổi >>> fruit[0] = 'b' nội dung của xâu, chỉ có thể tạo xâu Traceback TypeError: 'str' object does not mới nếu muốn thay đổi nội dung xâu support item assignment § Danh sách là mutable, tức là có thể >>> x = fruit.lower() >>> print(x) thay đổi giá trị của phần tử bất kỳ banana trong danh sách sử dụng chỉ số >>> lotto = [2, 14, 26, 41, 63] >>> print(lotto) (index) [2, 14, 26, 41, 63] >>> lotto[2] = 28 >>> print(lotto) [2, 14, 28, 41, 63]
  14. ĐỘ DÀI CỦA DANH SÁCH § Hàm len()nhận một list là tham >>> greet = 'Hello Bob' số và trả về số phần tử của list đó >>> print(len(greet)) § Hàm len()cho biết số phần tử 9 >>> x = [ 1, 2, 'joe', 99] của một tập hợp hoặc chuỗi bất kỳ >>> print(len(x)) (xâu kí tự) 4 >>>
  15. HÀM RANGE() § Hàm range(num) trả về danh sách các số từ 0 đến num-1 § Hàm range() thường được dùng để xây dựng vùng lặp trong câu lệnh lặp for >>> print(range(4)) [0, 1, 2, 3] >>> friends = ['Joseph', 'Glenn', 'Sally'] >>> print(len(friends)) 3 >>> print(range(len(friends))) [0, 1, 2] >>>
  16. VÍ DỤ VÒNG LẶP DÙNG DANH SÁCH LIST >>> friends = ['Joseph', 'Glenn', 'Sally'] friends = ['Joseph', 'Glenn', 'Sally'] >>> print(len(friends)) 3 for friend in friends : >>> print(range(len(friends))) print('Happy New Year:', friend) [0, 1, 2] >>> for i in range(len(friends)) : friend = friends[i] print('Happy New Year:', friend) Happy New Year: Joseph Happy New Year: Glenn Happy New Year: Sally
  17. NỐI HAI DANH SÁCH BẰNG TOÁN TỬ “+” Tạo ra một danh sách mới bằng cách nối hai danh sách đã có >>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> c = a + b >>> print(c) [1, 2, 3, 4, 5, 6] >>> print(a) [1, 2, 3]
  18. CHIA DANH SÁCH SỬ DỤNG TOÁN TỬ “:” >>> t = [9, 41, 12, 3, 74, 15] >>> t[1:3] [41,12] Lưu ý: Một trong hai tham số có thể >>> t[:4] có hoặc không [9, 41, 12, 3] >>> t[3:] [3, 74, 15] >>> t[:] [9, 41, 12, 3, 74, 15]
  19. MỘT SỐ PHƯƠNG THỨC CỦA LIST >>> x = list() >>> type(x) >>> dir(x) ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>>
  20. TẠO DANH SÁCH TỪ ĐẦU § Đầu tiên, tạo một danh sách rỗng, sau đó thêm các phần tử vào >>> stuff = list() danh sách bằng phương thức >>> stuff.append('book') append >>> stuff.append(99) >>> print(stuff) ['book', 99] § Hàm append() luôn thêm vào >>> stuff.append('cookie') cuối danh sách nên thứ tự các >>> print(stuff) phần tử trong danh sách chính là ['book', 99, 'cookie'] thứ tự thêm phần tử