Lists, Tuples and Dictionaries
Đôi khi mọi người nhầm lẫn về lists và tuples, do sự giống nhau của chúng, nhưng trên thực tế hai cấu trúc này khác nhau cơ bản, vì vậy trong hướng dẫn này, chúng mình sẽ chỉ ra điều đó.
Python Lists:
Một danh sách list chứa các mục được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc vuông ([]). Danh sách tương tự như mảng trong C. Một điểm khác biệt giữa chúng là tất cả các mục thuộc một danh sách có thể thuộc các kiểu dữ liệu khác nhau.
Các giá trị được lưu trữ trong danh sách có thể được truy cập bằng toán tử lát cắt ([] và [:]) với các chỉ mục bắt đầu từ 0 ở đầu danh sách và hoạt động theo cách của chúng đến cuối -1. Như chúng ta đã đề cập trong hướng dẫn trước, dấu cộng (+) là toán tử nối danh sách và dấu hoa thị (*) là toán tử lặp lại,
Ví dụ:
arr = [30, "hello word", 3.14] print(arr) print(arr*3) print(arr[0]) print(arr[len(arr)-1]) print(arr[1][0:5])
Python Tuples
Python tuple là một kiểu dữ liệu chuỗi tương tự như danh sách. Một tuple bao gồm một số các giá trị cách nhau bởi dấu phẩy. Không giống như các danh sách, tuy nhiên, các bộ được kèm theo trong ngoặc đơn.
Sự khác biệt chính giữa danh sách và bộ giá trị là: Danh sách được đặt trong dấu ngoặc vuông ([]) và các phần tử và kích thước của chúng có thể được thay đổi, trong khi bộ giá trị được đặt trong dấu ngoặc đơn (()) và không thể cập nhật hoặc thay đổi. Tuples có thể được coi như danh sách chỉ đọc.
Ví dụ:
tuparr = (10, "Tom", 3.14, "a string") print(tuparr) print(tuparr[0]) print(tuparr[0:3]) print(tuparr * 3)
Nếu chúng ta thực hiện một phép gán như dưới đây, chương trình sẽ báo lỗi ngay:
tuparr[0] = "hello word" # chạy câu lệnh này, chương trình sẽ báo lỗi
Python Dictionary:
Dictionary Python là một cấu trúc dữ liệu rất giống với các mảng kết hợp. Chúng không có thứ tự và chứa “khóa” và “giá trị”. Khóa từ điển có thể là bất kỳ loại Python nào, nhưng thường là số hoặc chuỗi. Mặt khác, các giá trị có thể là bất kỳ đối tượng Python tùy ý nào.
Từ điển được xác định bằng dấu ngoặc nhọn ({}) và các giá trị có thể được gán và truy cập bằng cách sử dụng dấu ngoặc vuông ([]).
Ví dụ:
dictt = {"key_01":"value_01", "key_02":"value_02", "key_03":"value_03", "songuyen":10, 15:15} print(dictt["key_01"]) print(dictt["songuyen"]) print(dictt[15]) # ở đây khóa là 15 chứ không phải vị trí 15 của dictt
chúng ta cũng có thể thực hiện thêm hoặc thay đổi giá trị của key (khóa). dict sẽ thực hiện loại bỏ các key đã có sẵn trong một dict và nếu khóa tồn tại thì nó sẽ thực hiện thay đổi giá trị của key thay vì thêm key vào. ví dụ:
dictt["astring"] = "hello word" # thêm key và value vào dictt dictt["value_01"] = 17 # thay đổi giá trị của từ khóa mang tên "value_01" print(dictt) # in ra dictt
Bạn hãy tự mình kiểm tra code nhé.
Dictionary rất hữu ích trong các nhiệm vụ xử lí và lưu trữ dữ liệu, dưới đây là ví dụ cơ bản về dict, đó là một tập hợp các từ khóa miêu tả người.
person = {"name":"Tom redle", "age":"18", "occupation":"student", "atwork":"Hogwart"} print("his name is ", person["name"]) print("he is ", person[age])
Qua ví dụ trên ta thấy dict khá hữu ích trong việc lưu trữ và xử lí dữ liệu, ngoài các lời ích trên, dict trong python còn mang lại sự hiểu quả khác nữa khi mà dùng dict cho mục đích nhóm dữ liệu. ví dụ như bạn cần khảo sát và lưu trữ các thông tin về người đi bộ trên đường, lưu trữ thông tin một người, lưu trữ các dữ liệu có liên quan đến nhau để gộp lại trong một nhóm trong dict.