Khóa-giá trị danh sách python

Trong Python có tới 4 kiểu cấu trúc dữ liệu là , ,  và Dictionary. Trong các bài viết trước chúng ta đã từng làm quen với các kiểu dữ liệu này và còn lại Từ điển, một cấu trúc rất hay dùng trong Python, chúng ta sẽ làm quen với nó trong bài viết này

  10 sự thật thú vị về ngôn ngữ lập trình Python

  11 mẹo học Python dành cho “newbie”

1. Từ điển – Dictionary

Từ điển dữ liệu [Dictionary] còn được gọi là mảng liên kết [mảng kết hợp] trong một số ngôn ngữ lập trình, là một dạng danh sách như bạn đã tìm hiểu. Có một điểm khác là các phần tử trong danh sách được truy xuất thông qua vị trí, phần tử trong từ điển được truy xuất thông qua khóa [key]. Bạn có thể định nghĩa từ khóa này, nó có thể là một chuỗi hoặc số nhưng nó phải là duy nhất trong từ điển

in sao vậy? . Hai người có cùng một số tài khoản, vậy biết chuyển khoản cho ai bây giờ?

Từ điển trong Python cũng có thể tưởng tượng giống như cuốn từ điển Anh – Việt không hạn. Bạn muốn tra từ “python” – tương ứng với từ khóa trong Từ điển, bạn sẽ có phần diễn giải chính là giá trị trong Từ điển. Do đó từ điển bao gồm rất nhiều phần tử mà mỗi phần tử đi theo cặp từ khóa – giá trị [key-value]

1. 1 Khai báo Từ điển

Từ điển trong Python được khai báo với cặp. Bên trong các phần tử theo cặp [khóa và giá trị] được phân tách bằng dấu phẩy, phân tách giữa khóa và giá trị của từng phần tử bằng dấu chấm. Cú pháp chung như sau

dictionary_name = {key_1: value_1, key_2: value_2, ..., key_n: value_n}

Ví dụ

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30

Chúng ta cũng có thể sử dụng hàm có sẵn dict[] để khai báo một từ điển

friend_ages = dict[{"Rolf": 24, "Adam": 30, "Anne": 27}]
# Hoặc
friend_ages = dict[[["Rolf", 24], ["Adam", 30], ["Anne", 27]]]

Chú thích

  • The key of Dictionary could be string or number, this key is duy nhất ở từng cấp
  • Giá trị của Từ điển có thể là Chuỗi, số hoặc cấu trúc Danh sách, Tuple, Bộ hoặc thậm chí là Từ điển

Một ví dụ khai báo Từ điển với giá trị phức tạp

friends = {
  "Rolf": {
    "phone": "09382993433",
    "address": "Boston, America",
    "age": 30
  },
  "Bob": {
    "phone": "03099483832",
    "address": "London, England",
    "age": 33
  },
  "Anne": {
    "phone": "00393982224",
    "address": "Texas, America",
    "age": 25
  }
}

1. 2 Truy xuất giá trị

Từ điển có thể truy xuất giá trị từng phần thông tin điện tử thông qua các từ khóa theo cú pháp

dictionary_name[key_x]

Ví dụ, trong từ điển bạn bè ở trên, chúng ta có thể truy xuất thông tin [giá trị] của Bob [khóa] như sau

print[friends["Bob"]] # Kết quả là {'phone': '03099483832', 'address': 'London, England', 'age': 33}

Chú ý, mỗi phần tử trong Từ điển những người bạn này lại là một Từ điển nên chúng ta có thể truy xuất tiếp theo tuổi của Bob như sau

print[friends["Bob"]["age"]] # Kết quả là 33

Khi truy xuất đến các phần tử trong Dictionary, nếu từ khóa không tồn tại, chương trình sẽ báo lỗi KeyError

print[friends["FirebirD"]] # Kết quả lỗi KeyError: "FirebirD"

Do vậy, trước khi truy xuất giá trị một phần tử trong từ điển, chúng ta cần kiểm tra xem từ khóa có tồn tại hay không với toán tử trong

________số 8

1. 3 Change value

Từ điển trong Python có thể thay đổi thêm bớt các phần tử, thay đổi giá trị của các phần tử hiện có

1. 3. 1 Thêm và cập nhật phần tử

Từ điển truy xuất thông qua khóa, làm như vậy khi gán giá trị cho một phần tử

  • Key tồn tại thì phần tử giá trị được cập nhật
  • The key does not being at, Dictionary được bổ sung một phần tử có khóa và giá trị trong câu lệnh
friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}

# Thay đổi giá trị
friend_ages["Adam"] = 31

# Thêm một phần tử
friend_ages["Firebird"] = 37

print[friends] # Kết quả là {'Rolf': 24, 'Adam': 31, 'Anne': 27, 'Firebird': 37}

Ngoài ra chúng ta có thể sử dụng phương thức. update[] để bổ sung hoặc chỉnh sửa giá trị nhiều phần tử trong từ điển. Trong ví dụ tiếp theo, chúng ta vừa thực hiện sửa đổi tuổi của Rolf thành 25 và thêm một phần tử mới vào từ điển

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
0

1. 3. 2 Delete the dictionary section

Cũng giống như Danh sách, Từ điển có rất nhiều phương thức có sẵn để có thể xóa một phần tử khỏi từ điển như. xa lạ[],. nhạc pop[],. popitem[] hoặc sử dụng từ khóa del

clear[] Xóa toàn bộ các phần tử từ điển

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
1

popitem[] Xóa một ngẫu nhiên phần tử

pop[] Xóa một phần tử với khóa cho trước từ điển

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
2

xóa một phần tử hoặc xóa chắc chắn các biến chứa từ điển

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
3

1. 4 A number of method in Dictionary

1. 4. 1 Phương thức. sao chép[]

Phương thức này trả về một bản sao riêng biệt. Chú ý, phương thức. copy[] has other point so with gán biến trong Python. Chúng ta cùng xem ví dụ sau

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
4

Như vậy, với phương thức. copy[] toàn bộ bộ nhớ liên quan đến biến friend_ages được sao chép sang một vùng khác trong bộ nhớ, vậy biến cũ thay đổi thì biến mới không thay đổi do tham chiếu đến vùng nhớ khác trên bộ nhớ. Còn khi gán giá trị bằng dấu =, biến đó vẫn tham chiếu đến vùng nhớ của biến cũ, nên khi biến cũ thay đổi, biến mới cũng thay đổi theo

1. 4. 2 Phương thức. lấy[]

Trả về giá trị của một phần tử trong Từ điển với một từ khóa cho trước, nó giống với truy xuất giá trị tại mục 1. 2 nhưng có một biệt thự nhỏ khác, nếu từ khóa không tồn tại, chương trình sẽ không báo lỗi mà trả lại giá trị Không có

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
5

1. 4. 3 Phương thức. keys[] and. giá trị[]

Hai phương thức này trả về danh sách khóa và danh sách các giá trị của từ điển. Ví dụ

friend_ages = {"Rolf": 24, "Adam": 30, "Anne": 27}
print[friend_ages["Adam"]] # Kết quả là 30
6

So sánh List, Tuple, Set và Dictionary

Bạn đã giới thiệu 4 cấu trúc dữ liệu có trong Python là Danh sách, Tuple, Bộ và Từ điển, có vẻ như hơi nhiều vấn đề. Trong từng bài viết, chúng ta đã có những so sánh hai khái niệm với nhau, giờ là lúc chúng ta tổng hợp lại toàn bộ những gì đã học về 4 cấu trúc dữ liệu này

Cách mạng

  • [giá trị_1, giá trị_2, …, giá trị_n]. Khai báo danh sách [List]
  • [giá trị_1, giá trị_2, …, giá trị_n]. Khai báo Tuple
  • {value_1, value_2, …, value_n}. Khai báo tập hợp [Set]
  • {key_1. giá trị_1, khóa_2. giá trị_2, …, key_n. giá trị_n}. Khai báo từ điển [Dictionary]

Sau khi làm quen với 4 cấu trúc List, Tuple, Set và Dictionary, có thể bạn sẽ rất hoa mắt. Nên chọn cấu trúc nào để phù hợp với chương trình của bạn?

Sau đó, chúng ta cùng đúc kết để có được câu trả lời cho. Khi nào sử dụng List, Tuple, Set hay Dictionary trong Python?

Chủ Đề