Python kiểm tra xem giá trị có tồn tại trong từ điển lồng nhau không

Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để kiểm tra xem một giá trị có tồn tại trong từ điển hay không. Chúng tôi sẽ đề cập đến những cách sau đây,

  • Kiểm tra xem giá trị có tồn tại trong lệnh không bằng cách sử dụng câu lệnh value() & if-in
  • Kiểm tra xem một giá trị có tồn tại trong từ điển python hay không bằng cách sử dụng vòng lặp for
  • Kiểm tra xem một giá trị có tồn tại trong từ điển hay không bằng cách sử dụng bất kỳ () và Khả năng hiểu danh sách

Giả sử chúng ta có một từ điển chuỗi và int i. e

# Dictionary of string and int word_freq = { "Hello": 56, "at": 23, "test": 43, "this": 78 }

Bây giờ trong từ điển này, chúng tôi muốn kiểm tra xem có khóa nào chứa giá trị 43 hay không. Có nhiều cách khác nhau để tìm kiếm một giá trị trong từ điển, hãy thảo luận từng cách một,

Kiểm tra xem giá trị có tồn tại trong dict hay không bằng cách sử dụng câu lệnh value() & if-in

Từ điển Python cung cấp một phương thức giá trị (), trả về một chuỗi tất cả các giá trị được liên kết với các khóa trong từ điển. Chúng ta có thể sử dụng từ khóa ‘in’ để kiểm tra xem giá trị của chúng ta có tồn tại trong dãy giá trị đó hay không. Ví dụ,

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")

đầu ra

Yes, Value: '43' exists in dictionary

Ở đây, giá trị 43 tồn tại trong từ điển của chúng tôi, do đó, nó trong câu lệnh được đánh giá là True

Hãy xem xét một ví dụ tiêu cực, nơi chúng tôi sẽ cố gắng kiểm tra một giá trị không tồn tại trong từ điển. Ví dụ,

value = 51 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")

đầu ra

No, Value: '51' does not exists in dictionary

Ở đây, giá trị 51 không tồn tại trong từ điển của chúng tôi, do đó, nếu câu lệnh được đánh giá là Sai

Những bài viết liên quan

  • Lấy khóa được liên kết với một giá trị trong từ điển
  • con trăn. kiểm tra xem khóa có tồn tại trong từ điển không (6 cách)

Kiểm tra xem một giá trị có tồn tại trong từ điển python hay không bằng cách sử dụng vòng lặp for

Chúng ta có thể lặp qua tất cả các cặp khóa-giá trị của từ điển bằng cách sử dụng vòng lặp for và trong khi lặp, chúng ta có thể kiểm tra xem giá trị của chúng ta có khớp với bất kỳ giá trị nào trong các cặp khóa-giá trị hay không. Chúng tôi đã tạo một chức năng riêng cho việc này. Hãy hiểu điều này với một ví dụ,

def check_value_exist(test_dict, value): do_exist = False for key, val in test_dict.items(): if val == value: do_exist = True return do_exist value = 43 # Iterate over all key, value pairs in dict and check if value exist if check_value_exist(word_freq, value): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")

đầu ra

Yes, Value: '43' exists in dictionary

Vì giá trị 43 tồn tại trong từ điển của chúng tôi, do đó check_value_exist() trả về True

Kiểm tra xem một giá trị có tồn tại trong từ điển hay không bằng cách sử dụng bất kỳ () và Khả năng hiểu danh sách

Sử dụng khả năng hiểu danh sách, lặp qua một chuỗi tất cả các cặp khóa-giá trị trong từ điển và tạo danh sách bool. Danh sách sẽ chứa True cho mỗi lần xuất hiện giá trị của chúng tôi trong từ điển. Sau đó gọi hàm any() trong danh sách các bool để kiểm tra xem nó có chứa bất kỳ True nào không. Nếu có thì điều đó có nghĩa là giá trị của chúng tôi tồn tại trong bất kỳ cặp khóa-giá trị nào của từ điển

Một từ điển có thể chứa một từ điển khác, từ điển này có thể chứa chính các từ điển, v.v. với độ sâu tùy ý. Điều này được gọi là từ điển lồng nhau

Từ điển lồng nhau là một trong nhiều cách để biểu diễn thông tin có cấu trúc (tương tự như 'bản ghi' hoặc 'cấu trúc' trong các ngôn ngữ khác)

Tạo một từ điển lồng nhau

Từ điển lồng nhau được tạo giống như cách tạo từ điển thông thường. Sự khác biệt duy nhất là mỗi giá trị là một từ điển khác

Hãy xây dựng một từ điển lưu trữ hồ sơ nhân viên

D = {'emp1': {'name': 'Bob', 'job': 'Mgr'}, 'emp2': {'name': 'Kim', 'job': 'Dev'}, 'emp3': {'name': 'Sam', 'job': 'Dev'}}

Trình tạo dict()

Có một số cách để tạo từ điển lồng nhau bằng cách sử dụng hàm tạo kiểu có tên dict()

Để tạo một từ điển lồng nhau, chỉ cần chuyển khóa từ điển. cặp giá trị làm đối số từ khóa cho Trình xây dựng D = dict(emp1 = {'name': 'Bob', 'job': 'Mgr'}, emp2 = {'name': 'Kim', 'job': 'Dev'}, emp3 = {'name': 'Sam', 'job': 'Dev'}) print(D) # Prints {'emp1': {'name': 'Bob', 'job': 'Mgr'}, # 'emp2': {'name': 'Kim', 'job': 'Dev'}, # 'emp3': {'name': 'Sam', 'job': 'Dev'}}5

________số 8

Bạn có thể sử dụng hàm dict() cùng với hàm zip() để kết hợp các danh sách khóa và giá trị riêng biệt thu được tự động trong thời gian chạy

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")0

Bạn thường muốn tạo một từ điển với các giá trị mặc định cho mỗi khóa. Phương thức fromkeys() cung cấp một cách để làm điều này

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")1

Truy cập các mục từ điển lồng nhau

Bạn có thể truy cập các mục riêng lẻ trong từ điển lồng nhau bằng cách chỉ định khóa trong nhiều dấu ngoặc vuông

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")2

Nếu bạn tham chiếu đến một khóa không có trong từ điển lồng nhau, một ngoại lệ sẽ được đưa ra

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")3

Để tránh trường hợp ngoại lệ như vậy, bạn có thể sử dụng phương thức get() từ điển đặc biệt. Phương thức này trả về giá trị cho khóa nếu khóa có trong từ điển, nếu không thì D = dict(emp1 = {'name': 'Bob', 'job': 'Mgr'}, emp2 = {'name': 'Kim', 'job': 'Dev'}, emp3 = {'name': 'Sam', 'job': 'Dev'}) print(D) # Prints {'emp1': {'name': 'Bob', 'job': 'Mgr'}, # 'emp2': {'name': 'Kim', 'job': 'Dev'}, # 'emp3': {'name': 'Sam', 'job': 'Dev'}}6, vì vậy phương thức này không bao giờ tăng D = dict(emp1 = {'name': 'Bob', 'job': 'Mgr'}, emp2 = {'name': 'Kim', 'job': 'Dev'}, emp3 = {'name': 'Sam', 'job': 'Dev'}) print(D) # Prints {'emp1': {'name': 'Bob', 'job': 'Mgr'}, # 'emp2': {'name': 'Kim', 'job': 'Dev'}, # 'emp3': {'name': 'Sam', 'job': 'Dev'}}7

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")6

Thay đổi các mục từ điển lồng nhau

Để thay đổi giá trị của một mục cụ thể trong từ điển lồng nhau, hãy tham khảo khóa của nó

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")7

Thêm hoặc cập nhật các mục từ điển lồng nhau

Dễ dàng thêm hoặc cập nhật các mục từ điển lồng nhau. Chỉ cần tham khảo mục theo khóa của nó và gán giá trị. Nếu khóa đã có trong từ điển, giá trị của nó sẽ được thay thế bằng khóa mới

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")8

Nếu khóa mới, nó sẽ được thêm vào từ điển với giá trị của nó

value = 43 # python check if value exist in dict using "in" & values() if value in word_freq.values(): print(f"Yes, Value: '{value}' exists in dictionary") else: print(f"No, Value: '{value}' does not exists in dictionary")9

Hợp nhất hai từ điển lồng nhau

Sử dụng phương thức update() tích hợp để hợp nhất các khóa và giá trị của một từ điển lồng vào một từ điển khác. Lưu ý rằng phương pháp này sẽ ghi đè mù quáng các giá trị của cùng một khóa nếu có xung đột

D = dict(emp1 = {'name': 'Bob', 'job': 'Mgr'}, emp2 = {'name': 'Kim', 'job': 'Dev'}, emp3 = {'name': 'Sam', 'job': 'Dev'}) print(D) # Prints {'emp1': {'name': 'Bob', 'job': 'Mgr'}, # 'emp2': {'name': 'Kim', 'job': 'Dev'}, # 'emp3': {'name': 'Sam', 'job': 'Dev'}}0

Tại đây, bản ghi 'emp2′ được cập nhật trong khi 'emp3′ được thêm vào từ điển

Xóa các mục từ điển lồng nhau

Có một số cách để xóa các mục khỏi từ điển lồng nhau

Xóa một mục bằng phím

Nếu bạn biết khóa của mục mình muốn, bạn có thể sử dụng phương thức pop() . Nó xóa khóa và trả về giá trị của nó

Làm cách nào để kiểm tra xem giá trị có tồn tại trong từ điển Python lồng nhau không?

Sử dụng câu lệnh thử/ngoại trừ để kiểm tra xem khóa lồng nhau có tồn tại trong từ điển không. Nếu một hoặc nhiều khóa lồng nhau không tồn tại, KeyError sẽ xuất hiện và sau đó được xử lý bởi khối except.

Làm cách nào để kiểm tra giá trị khóa trong từ điển Python lồng nhau?

Truy cập giá trị sử dụng get() . use the dict. phương thức get(). Phương thức này trả về giá trị cho một khóa được chỉ định. Nếu khóa được chỉ định không tồn tại, phương thức get() trả về Không có (ngăn KeyError ).

Bạn có thể sử dụng == trên từ điển trong Python không?

Theo tài liệu python, bạn thực sự có thể sử dụng toán tử == trên từ điển .

Chủ đề