Page 63 - Em Học Python
P. 63

Cái khác biệt lớn nhất giữa tuple và mảng, là một khi đã tạo ra tuple rồi, em không

               thể sửa nó được nữa. Ví dụ, thử thay giá trị đầu tiên của tuple  fibs thành 4 (giống như cách
                                                                                   ​
               mình thay giá trị của mảng  wizard_list), ta sẽ gặp lỗi ngay:
                                                         ​

               >>> fibs[0] = 4
                   ​
               Traceback (most recent call last):
                 File "<pyshell>", line 1, in <module>
                   fibs[0] = 4
               TypeError: 'tuple' object does not support item assignment

                       Thế sao ta lại phải dùng tuple làm gì? Rất đơn giản, là bởi vì nhiều khi em biết có

               những thứ không bao giờ thay đổi cả. Nếu em tạo ra một tuple có hai phần tử thì nó chắc

               chắn luôn luôn chỉ có hai phần tử.



                                                                                                          6
               PYTHON MAPS KHÔNG CHỈ ĐƯỜNG CHO EM ĐÂU


                       Trong Python, một  map​  (hay còn gọi là  dict , viết tắt của  từ điển
                                                                   ​
               ⟨dictionary⟩) là một tập hợp của nhiều thứ, tương tự mảng và tuple.
                           ​
                                                                                  ​
               Điểm khác biệt ở đây là mỗi phần tử trong map đều có một  khóa ⟨key⟩
               và tương ứng với nó là một  giá trị  ⟨value⟩.
                                                        ​

                       Ví dụ, giả sử em có một danh sách bạn bè và môn thể thao yêu
               thích của từng người. Ta có thể cho hết danh sách này vào một mảng,

               tên người đứng trước môn thể thao theo sau, như thế này:


               >>> favorite_sports = ['Ralph Williams, Football',
                                           ​
                   ​
                                                                          ​
                                      ​
                                                                         ​
                                  'Michael Tippett, Basketball',
                                                                   ​
                                      ​
                                  'Edward Elgar, Baseball',
                                                                    ​
                                  'Rebecca Clarke, Netball',
                                      ​
                                                                   ​
                                      ​
                                  'Ethel Smyth, Badminton',
                                                               ​
                                  'Frank Bridge, Rugby']
                                      ​
                       Hỏi, bạn Rebecca Clarke thích môn gì? Em có thể đọc lướt qua mảng này và tìm ra
               câu trả lời là netball (bóng lưới). Nhưng nhỡ mảng này mà dài đến 100 người (hoặc nhiều
               hơn nữa) thì sao?
                       6  Ý nói Python Maps so với Google Maps ^^


                                                                                   Chuỗi, mảng, tuple và map           37
   58   59   60   61   62   63   64   65   66   67   68