Truy cập các mục dictionary trong Python liên quan đến việc lấy các giá trị liên quan đến các khóa cụ thể trong cấu trúc dữ liệu từ điển. Các từ điển được cấu thành từ các cặp khóa-giá trị, trong đó mỗi khóa là duy nhất và ánh xạ đến một giá trị tương ứng. Truy cập các mục từ điển cho phép bạn lấy các giá trị này bằng cách cung cấp các khóa tương ứng.
Có nhiều cách để truy cập các mục trong từ điển (dictionary) trong Python. Chúng bao gồm −
Chúng ta sẽ thảo luận chi tiết về từng phương pháp để hiểu cách truy cập và lấy dữ liệu từ các từ điển.
Trong Python, dấu ngoặc vuông [] được sử dụng để tạo danh sách, truy cập các phần tử từ danh sách hoặc các đối tượng có thể lặp lại khác (như chuỗi, tuple hoặc từ điển), và cho phép hiểu danh sách.
Chúng ta có thể truy cập các mục trong từ điển bằng cách sử dụng dấu ngoặc vuông và cung cấp khóa bên trong dấu ngoặc. Điều này sẽ lấy giá trị liên kết với khóa đã chỉ định.
Trong ví dụ sau, chúng ta đang định nghĩa một từ điển có tên "capitals", trong đó mỗi khóa đại diện cho một tiểu bang và giá trị tương ứng của nó đại diện cho thành phố thủ đô.
Sau đó, chúng ta truy cập và lấy các thủ đô của Gujarat và Karnataka bằng cách sử dụng các khóa tương ứng 'Gujarat' và 'Karnataka' từ từ điển.
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"} print ("Capital of Gujarat is : ", capitals['Gujarat']) print ("Capital of Karnataka is : ", capitals['Karnataka'])
Nó sẽ tạo ra đầu ra sau đây −
Capital of Gujarat is: Gandhinagar Capital of Karnataka is: Bengaluru
Python raises a KeyError nếu khóa được cung cấp bên trong dấu ngoặc vuông không có trong đối tượng từ điển.
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"} print ("Captial of Haryana is : ", capitals['Haryana'])
Dưới đây là lỗi đã thu được −
print ("Captial of Haryana is : ", capitals['Haryana']) ~~~~~~~~^^^^^^^^^^^ KeyError: 'Haryana'
Giá trị get() method trong lớp dict của Python được sử dụng để lấy giá trị liên kết với một khóa được chỉ định. Nếu khóa không được tìm thấy trong từ điển, nó sẽ trả về một giá trị mặc định (thường là None) thay vì gây ra lỗi KeyError.
Chúng ta có thể truy cập các mục trong từ điển bằng cách sử dụng phương thức get() bằng cách chỉ định khóa dưới dạng tham số. Nếu khóa tồn tại trong từ điển, phương thức sẽ trả về giá trị liên kết; nếu không, nó sẽ trả về một giá trị mặc định, thường là None trừ khi được chỉ định khác.
Dưới đây là cú pháp của phương thức get() trong Python −
Val = dict.get("key")
nơi, key là một đối tượng không thay đổi được sử dụng làm khóa trong đối tượng từ điển.
Trong ví dụ bên dưới, chúng ta đang định nghĩa một từ điển có tên "capitals" trong đó mỗi cặp khóa-giá trị ánh xạ một tiểu bang đến thủ đô của nó. Sau đó, chúng ta sử dụng phương thức get() để truy xuất các thủ đô của "Gujarat" và "Karnataka".
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"} print ("Capital of Gujarat is: ", capitals.get('Gujarat')) print ("Capital of Karnataka is: ", capitals.get('Karnataka'))
Chúng ta nhận được đầu ra như hình dưới đây −
Capital of Gujarat is: Gandhinagar Capital of Karnataka is: Bengaluru
Khác với toán tử "[]", phương thức get() không gây ra lỗi nếu không tìm thấy khóa; nó trả về None.
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"} print ("Capital of Haryana is : ", capitals.get('Haryana'))
Nó sẽ tạo ra đầu ra sau đây −
Capital of Haryana is : None
Phương thức get() chấp nhận một đối số tùy chọn string . Nếu nó được cung cấp, và nếu khóa không được tìm thấy, chuỗi này sẽ trở thành giá trị trả về −
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"} print ("Capital of Haryana is : ", capitals.get('Haryana', 'Not found'))
Sau khi thực thi đoạn mã trên, chúng ta nhận được đầu ra sau đây −
Capital of Haryana is: Not found
Trong một từ điển, các khóa là các định danh duy nhất gắn liền với mỗi giá trị. Chúng hoạt động như nhãn hoặc chỉ số cho phép bạn truy cập và lấy giá trị tương ứng. Các khóa là bất biến, có nghĩa là chúng không thể thay đổi sau khi đã được gán. Chúng phải thuộc kiểu dữ liệu bất biến, chẳng hạn như chuỗi, số hoặc tuple.
Chúng ta có thể truy cập các khóa của từ điển trong Python bằng cách sử dụng phương thức keys(), phương thức này trả về một đối tượng view chứa tất cả các khóa trong từ điển.
Trong ví dụ này, chúng ta đang lấy tất cả các khóa từ từ điển "student_info" bằng cách sử dụng phương thức keys() −
# Creating a dictionary with keys and values student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Accessing all keys using the keys() method all_keys = student_info.keys() print("Keys:", all_keys)
Dưới đây là kết quả của đoạn mã trên −
Keys: dict_keys(['name', 'age', 'major'])
Trong một từ điển, giá trị là dữ liệu liên kết với mỗi khóa duy nhất. Chúng đại diện cho thông tin thực tế được lưu trữ trong từ điển và có thể thuộc bất kỳ kiểu dữ liệu nào, chẳng hạn như chuỗi, số nguyên, danh sách, từ điển khác, và nhiều hơn nữa. Mỗi khóa trong một từ điển ánh xạ đến một giá trị cụ thể, tạo thành một cặp khóa-giá trị.
Chúng ta có thể truy cập các giá trị của từ điển trong Python bằng cách sử dụng −
Square Brackets ([]) − Bằng cách cung cấp khóa bên trong dấu ngoặc.
The get() Method − Bằng cách gọi phương thức với khóa là đối số, tùy chọn cung cấp một giá trị mặc định.
The values() Method − trả về một đối tượng view chứa tất cả các giá trị trong từ điển.
Trong ví dụ này, chúng ta đang truy cập trực tiếp vào giá trị liên kết với khóa "name" và "age" bằng cách sử dụng dấu ngoặc vuông −
# Creating a dictionary with student information student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Accessing dictionary values using square brackets name = student_info["name"] age = student_info["age"] print("Name:", name) print("Age:", age)
Đầu ra của đoạn mã trên như sau −
Name: Alice Age: 21
Tại đây, chúng ta sử dụng phương thức get() để lấy giá trị liên kết với khóa "major" và cung cấp một giá trị mặc định là "2023" cho khóa "graduation_year".
# Creating a dictionary with student information student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Accessing dictionary values using the get() method major = student_info.get("major") # Default value provided if key is not found grad_year = student_info.get("graduation_year", "2023") print("Major:", major) print("Graduation Year:", grad_year)
Chúng tôi nhận được kết quả như sau −
Major: Computer Science Graduation Year: 2023
Bây giờ, chúng ta đang lấy tất cả các giá trị từ từ điển "student_info" bằng cách sử dụng phương thức values() −
# Creating a dictionary with keys and values student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Accessing all values using the values() method all_values = student_info.values() print("Values:", all_values)
Kết quả thu được như hình dưới đây −
Values: dict_values(['Alice', 21, 'Computer Science'])
Hàm items() trong Python được sử dụng để trả về một đối tượng view hiển thị danh sách các cặp tuple khóa-giá trị của một từ điển.
Đối tượng view này có thể được sử dụng để lặp qua các khóa và giá trị của từ điển đồng thời, giúp dễ dàng truy cập cả khóa và giá trị trong một vòng lặp duy nhất.
Trong ví dụ sau, chúng tôi đang sử dụng hàm items() để lấy tất cả các cặp khóa-giá trị từ từ điển "student_info" −
# Creating a dictionary with student information student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Using the items() method to get key-value pairs all_items = student_info.items() print("Items:", all_items) # Iterating through the key-value pairs print("Iterating through key-value pairs:") for key, value in all_items: print(f"{key}: {value}")
Dưới đây là kết quả của đoạn mã trên −
Items: dict_items([('name', 'Alice'), ('age', 21), ('major', 'Computer Science')]) Iterating through key-value pairs: name: Alice age: 21 major: Computer Science