/Hàm keys – Kiểu dữ liệu Dictionary

Hàm keys – Kiểu dữ liệu Dictionary

Hàm keys hay phương thức keys là một trong số các hàm được hỗ trợ sẵn của Kiểu dữ liệu Dictionary trong ngôn ngữ lập trình Python được sử dụng để lấy danh sách các khóa (keys) từ một từ điển trong Python.

Điều này giúp duyệt và xử lý các khóa của từ điển một cách thuận tiện.

1. Cú pháp hàm keys

Hàm keys hay Python Dictionary keys là một phương thức của đối tượng từ điển (dictionary) trong ngôn ngữ lập trình Python.

Điều này có nghĩa là nó được gọi trên một đối tượng từ điển cụ thể để truy xuất và trả về danh sách các khóa (keys) của từ điển đó. Đây không phải là một phương thức của lớp (class).

Cú pháp:

dictObj.keys()

Tham số:

  • Hàm keys không chấp nhận bất kỳ tham số nào khác ngoài đối tượng từ điển.

Kiểu dữ liệu trả về:

  • Hàm keys() trả về một danh sách (list) chứa các khóa (keys) từ từ điển.

Phiên bản Python bắt đầu hỗ trợ:

  • Hàm keys đã được hỗ trợ từ Python 2.0 và tiếp tục được hỗ trợ trong tất cả các phiên bản Python sau này, bao gồm Python 3.x.
Hàm keys – Kiểu dữ liệu Dictionary

2. Một số ví dụ sử dụng hàm keys

2.1. In ra các khóa (keys) của một từ điển

# Tạo một từ điển
student_info = {
    'name': 'Alice',
    'age': 25,
    'courses': ['Math', 'Science', 'English']
}

# Lấy danh sách các khóa (keys) từ từ điển
keys_list = student_info.keys()

# Hiển thị danh sách các khóa
print("Danh sách các khóa trong từ điển:")
for key in keys_list:
    print(key)

Trong ví dụ này, chúng ta sử dụng hàm keys() để lấy danh sách các khóa từ từ điển và sau đó in ra màn hình.

2.2. Kiểm tra một khóa có tồn tại trong từ điển hay không

# Tạo một từ điển
person_info = {
    'name': 'John',
    'age': 30,
    'city': 'New York'
}

# Kiểm tra khóa 'name' có tồn tại trong từ điển hay không
if 'name' in person_info.keys():
    print("Khóa 'name' tồn tại trong từ điển.")
else:
    print("Khóa 'name' không tồn tại trong từ điển.")

Trong ví dụ này, chúng ta sử dụng in để kiểm tra xem khóa ‘name’ có tồn tại trong từ điển hay không bằng cách truy cập danh sách khóa thông qua hàm keys().

2.3. Tạo một từ điển mới chỉ chứa một số khóa

# Tạo một từ điển
employee_info = {
    'name': 'Alice',
    'age': 30,
    'position': 'Engineer',
    'salary': 50000
}

# Chọn một số khóa để tạo từ điển mới
selected_keys = ['name', 'position']

# Tạo từ điển mới chỉ chứa các khóa đã chọn
selected_info = {key: employee_info[key] for key in selected_keys if key in employee_info.keys()}

# Hiển thị từ điển mới
print("Từ điển mới chỉ chứa các khóa đã chọn:")
print(selected_info)

Trong ví dụ này, chúng ta sử dụng hàm keys() để lấy danh sách các khóa từ từ điển, sau đó chọn một số khóa cần thiết và tạo một từ điển mới chỉ chứa các khóa đã chọn và giá trị tương ứng.

2.4. Sử dụng toán tử in trực tiếp với dictionary

Các bạn có thể sử dụng trực tiếp toán tử in trong kiểu dữ liệu từ điển (dictionary) trong Python được sử dụng để kiểm tra xem một khóa (key) có tồn tại trong từ điển hay không mà thay cho việc sử dụng hàm keys.

Cú pháp:

key in dictionary

  • key: Khóa mà chúng ta muốn kiểm tra.
  • dictionary: Từ điển mà chúng ta muốn kiểm tra khóa tồn tại.

Kết quả trả về của toán tử in là True nếu khóa tồn tại trong từ điển, và False nếu khóa không tồn tại.

Ví dụ:

student_info = {
    'name': 'Alice',
    'age': 25,
    'courses': ['Math', 'Science', 'English']
}

print('name' in student_info)  # True
print('grade' in student_info)  # False

Trong ví dụ trên, 'name' in student_info trả về True vì khóa 'name' tồn tại trong từ điển student_info. Ngược lại, 'grade' không tồn tại trong từ điển nên 'grade' in student_info trả về False.

Toán tử in rất hữu ích khi bạn muốn kiểm tra xem một khóa có tồn tại trong từ điển hay không trước khi truy cập giá trị tương ứng.

2.5. Chuyển đổi kiểu dữ liệu từ điển (dictionary) thành chuỗi JSON

Chuyển đổi kiểu dữ liệu từ điển (dictionary) thành chuỗi JSON mà không cần import thư viện json, chúng ta có thể tạo một hàm tùy chỉnh để thực hiện quá trình chuyển đổi. Trong ví dụ này, chúng tôi sẽ tạo một chuỗi JSON thủ công bằng cách sử dụng hàm keys() để truy cập các khóa (keys) và giá trị tương ứng trong từ điển.

def dict_to_json_using_keys(dictionary):
    # Khởi tạo một chuỗi JSON rỗng
    json_string = "{"
    
    # Lặp qua từng khóa và giá trị trong từ điển
    for key in dictionary.keys():
        # Xử lý khóa và giá trị thành chuỗi JSON
        key_json = f'"{key}"'
        value = dictionary[key]
        value_json = f'"{value}"' if isinstance(value, str) else str(value)
        
        # Thêm cặp khóa-giá trị vào chuỗi JSON
        json_string += f"{key_json}: {value_json}, "
    
    # Loại bỏ dấu ',' cuối cùng và đóng chuỗi JSON
    json_string = json_string.rstrip(", ") + "}"
    
    return json_string

# Tạo một từ điển
student_info = {
    'name': 'Alice',
    'age': 25,
    'courses': ['Math', 'Science', 'English']
}

# Chuyển đổi từ điển thành chuỗi JSON sử dụng hàm dict_to_json_using_keys
json_student_info = dict_to_json_using_keys(student_info)

# Hiển thị kết quả
print("Dữ liệu JSON từ từ điển:")
print(json_student_info)

Giải thích:

  • Hàm dict_to_json_using_keys nhận một đối tượng từ điển dictionary làm đối số.
  • Chúng ta lặp qua các khóa của từ điển bằng cách sử dụng for key in dictionary.keys().
  • Đối với mỗi khóa, chúng tôi xử lý khóa và giá trị thành chuỗi JSON.
  • Sau đó, chúng tôi thêm cặp khóa-giá trị vào chuỗi JSON thủ công.
  • Cuối cùng, chúng tôi loại bỏ dấu ‘,’ cuối cùng và đóng chuỗi JSON.

Kết quả là một chuỗi JSON thủ công chứa thông tin từ điển student_info.