Hướng dẫn check if key exists in nested dictionary python - kiểm tra xem khóa có tồn tại trong python từ điển lồng nhau không
Câu trả lời được chọn hoạt động tốt trên con đường hạnh phúc, nhưng có một vài vấn đề rõ ràng với tôi. Nếu bạn đã tìm kiếm ["Spam", "Egg", "Bacon", "Pizza"], nó sẽ gây ra lỗi loại do cố gắng lập chỉ mục "..." sử dụng chuỗi "pizza". Giống như khôn ngoan, nếu bạn thay thế pizza bằng 2, nó sẽ sử dụng nó để lấy chỉ số 2 từ "tốt ..." Các vấn đề đầu ra câu trả lời được chọn::
Tôi cũng cảm thấy rằng sử dụng thử ngoại trừ có thể là một cái nạng mà chúng ta có thể quá nhanh dựa vào. Vì tôi tin rằng chúng tôi đã cần kiểm tra loại, cũng có thể loại bỏ thử ngoại trừ. Solution:
Output: Kiểm tra xem một khóa lồng nhau có tồn tại trong một từ điển trong Python # khôngSử dụng câu lệnh
Chúng tôi cố gắng truy cập khóa lồng nhau trong khối 1 của câu lệnh try/except .Nếu một trong các phím không tồn tại, ngoại lệ Bạn có thể sử dụng câu lệnh 5 nếu bạn cần bỏ qua ngoại lệ.
Câu lệnh PASS không làm gì và được sử dụng khi bắt buộc phải có câu lệnh nhưng chương trình không yêu cầu hành động. Nếu bạn phải làm điều này thường xuyên, hãy trích xuất logic vào một hàm có thể tái sử dụng.
Hàm lấy một từ điển và một danh sách các khóa và kiểm tra xem chuỗi các khóa có tồn tại trong từ điển không. Chúng tôi lặp lại danh sách các khóa và cố gắng truy cập từng khóa lồng nhau, vì vậy thứ tự của các khóa trong danh sách là quan trọng. Hàm trả về 6 Nếu chuỗi các khóa tồn tại trong từ điển, nếu không 7 được trả về.Ngoài ra, bạn có thể sử dụng phương pháp 8.Kiểm tra xem khóa lồng nhau có tồn tại trong từ điển bằng dict.get () #Để kiểm tra xem một khóa lồng nhau có tồn tại trong từ điển không:
Phương thức Dict.get trả về giá trị cho khóa đã cho nếu khóa nằm trong từ điển, nếu không, giá trị mặc định được trả về. Phương thức lấy 2 tham số sau:
Nếu một giá trị cho tham số 1 không được cung cấp, nó mặc định là 2, do đó phương thức 3 không bao giờ tăng KeyError .Chúng tôi đã chuyển một từ điển trống làm đối số thứ hai cho phương thức Nếu khóa được chỉ định không tồn tại, một từ điển trống sẽ được trả về trên đó chúng ta có thể gọi một cách an toàn phương thức 8.Bạn không phải chuyển một từ điển trống trong cuộc gọi cuối cùng đến 8 vì phương thức trả về 2 nếu giá trị mặc định không được cung cấp và khóa không tồn tại.
Cách tiếp cận mà bạn chọn là một vấn đề sở thích cá nhân. Tôi sẽ sử dụng một câu lệnh |