Hầu hết mọi loại giá trị đều có thể được sử dụng làm khóa từ điển trong Python. Bạn thậm chí có thể sử dụng các đối tượng tích hợp sẵn như kiểu và hàm. Tuy nhiên, có một số hạn chế mà các khóa từ điển phải tuân theo
Đầu tiên, một khóa nhất định chỉ có thể xuất hiện trong từ điển một lần. Khóa trùng lặp không được phép. Từ điển ánh xạ mỗi khóa thành một giá trị tương ứng, vì vậy sẽ không hợp lý khi ánh xạ một khóa cụ thể nhiều lần. Nếu bạn chỉ định một khóa lần thứ hai trong quá trình tạo từ điển lần đầu, thì lần xuất hiện thứ hai sẽ ghi đè lần đầu tiên
Thứ hai, khóa từ điển phải thuộc loại không thay đổi. Ví dụ: bạn có thể sử dụng số nguyên, số float, chuỗi hoặc Boolean làm khóa từ điển. Tuy nhiên, cả danh sách và từ điển khác đều không thể đóng vai trò là khóa từ điển vì danh sách và từ điển có thể thay đổi. Mặt khác, các giá trị có thể là bất kỳ loại nào và có thể được sử dụng nhiều lần
Joshua Dougas trên
Tôi đã rất ngạc nhiên khi thông báo lỗi cho các khóa danh sách hoàn toàn không đề cập đến khả năng thay đổi
Tôi đã chơi xung quanh và thấy rằng các đối tượng có thể thay đổi thực sự hoạt động như các khóa, miễn là đối tượng có thể băm được. Chúng ta có thể tạo một danh sách hậu duệ có thể băm được bằng cách triển khai phương thức hash[] bằng cách sử dụng một số sơ đồ tùy ý
Tôi đã làm điều này bên dưới và thấy rằng các đối tượng có thể thay đổi trên thực tế hoạt động như các khóa từ điển, chỉ là việc sử dụng các khóa có thể thay đổi có thể dẫn đến kết quả không mong muốn
Ví dụ: nếu bạn thêm một mục bằng khóa có thể thay đổi và sau đó thay đổi khóa không thể đảo ngược, thì bạn có nguy cơ 'mất' giá trị được liên kết. Tôi chắc chắn rằng có một loạt các cảnh báo khác, chẳng hạn như va chạm, cũng như
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách lấy danh sách tất cả các khóa từ từ điển python bằng nhiều phương pháp khác nhau. Chúng ta có thể lấy danh sách tất cả các khóa từ từ điển python bằng các phương pháp sau -
sử dụng chính tả. phương thức keys[]
Sử dụng danh sách [] và dict. phím [] chức năng
Sử dụng hiểu Danh sách
Sử dụng toán tử giải nén[*]
Sử dụng hàm append[] và vòng lặp For
Giả sử chúng tôi đã lấy một từ điển ví dụ. Chúng tôi sẽ trả về danh sách tất cả các khóa từ từ điển python bằng các phương thức khác nhau như đã chỉ định ở trên
Phương pháp 1. sử dụng chính tả. phương thức keys[]
Trong Từ điển Python, dict. keys[] phương thức cung cấp một đối tượng xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu trữ từ điển đầu vào và thêm một số cặp khóa-giá trị ngẫu nhiên vào đó
Sử dụng hàm keys[] và áp dụng nó vào từ điển đầu vào để lấy danh sách tất cả các khóa của từ điển và in ra
Thí dụ
Chương trình sau trả về danh sách tất cả các khóa của từ điển bằng cách sử dụng hàm keys[] -
đầu ra
Khi thực thi, chương trình trên sẽ tạo đầu ra sau -
dict_keys[[10, 12, 14]]
Phương pháp 2. Sử dụng danh sách [] và dict. phím [] chức năng
Phương thức list[] trong Python chấp nhận bất kỳ iterable nào làm đối số và trả về một danh sách. Iterable là đối tượng trong Python có thể được lặp đi lặp lại
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu trữ từ điển đầu vào
In danh sách tất cả các khóa của một từ điển với hàm keys[] [chính tả. keys[] cung cấp một đối tượng dạng xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn] bằng cách áp dụng nó vào từ điển đầu vào và chuyển đổi kết quả thành danh sách bằng cách sử dụng hàm list[][chuyển đổi trình tự/có thể lặp lại
Thí dụ
Chương trình sau trả về danh sách tất cả các khóa của một từ điển bằng cách sử dụng các hàm list[] và keys[]
đầu ra
[10, 12, 14]
Phương pháp 3. Sử dụng hiểu Danh sách
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu trữ từ điển đầu vào
Sử dụng hàm keys[][] và áp dụng nó vào từ điển đầu vào để lấy danh sách tất cả các khóa của từ điển
In danh sách các khóa của từ điển bằng cách duyệt qua từng khóa trong danh sách khóa trên bằng cách sử dụng hiểu danh sách và vòng lặp for
Thí dụ
Chương trình sau đây trả về danh sách tất cả các khóa của từ điển bằng cách sử dụng tính năng hiểu Danh sách−
đầu ra
[10, 12, 14]
Phương pháp 4. Sử dụng toán tử giải nén[*]
Toán tử giải nén * hoạt động với bất kỳ đối tượng có thể lặp lại nào và vì từ điển cung cấp khóa của chúng khi được lặp lại, bạn có thể dễ dàng tạo danh sách bằng cách sử dụng nó trong danh sách theo nghĩa đen
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu trữ từ điển đầu vào
In danh sách tất cả các khóa của từ điển bằng cách sử dụng toán tử giải nén [*] và cú pháp bên dưới [Ở đây nó sẽ giải nén tất cả các khóa của từ điển và trả về dưới dạng danh sách bằng cách sử dụng * làm toán tử giải nén]
print[[*demoDictionary]]
Thí dụ
Chương trình sau trả về danh sách tất cả các khóa của từ điển bằng cách sử dụng toán tử giải nén[*] −
đầu ra
[10, 12, 14]
Phương pháp 5. Sử dụng hàm append[] và vòng lặp For
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu trữ từ điển đầu vào
Tạo một danh sách trống để lưu trữ tất cả các khóa của một từ điển đầu vào
Sử dụng vòng lặp for để duyệt qua tất cả các khóa của từ điển bằng hàm keys[]
Nối từng khóa của từ điển vào danh sách bằng hàm append[] [thêm phần tử vào cuối danh sách] bằng cách chuyển khóa tương ứng làm đối số cho nó
In danh sách tất cả các khóa của từ điển
Thí dụ
Chương trình sau trả về danh sách tất cả các khóa của từ điển bằng cách sử dụng hàm append[] & vòng lặp For −
đầu ra
Khi thực thi, chương trình trên sẽ tạo đầu ra sau -
[10, 12, 14]
Phần kết luận
Bài viết này hướng dẫn chúng ta cách sử dụng hàm keys[] để lấy toàn bộ khóa của từ điển cũng như cách sử dụng hàm list[] để biến các khóa thành danh sách. Ngoài ra, chúng ta đã học cách sử dụng tính năng hiểu danh sách và vòng lặp for trong cùng một đoạn mã để chuyển đổi các khóa từ từ điển được phương thức keys[] trả về thành danh sách. Cuối cùng, chúng ta đã học cách thêm các phần tử vào danh sách bằng cách sử dụng hàm append[] [Ở đây chúng ta đã thêm các khóa vào danh sách]