Làm cách nào để kiểm tra xem một mục có trong từ điển python không?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để kiểm tra xem một khóa có tồn tại trong từ điển hay không. Bạn cũng sẽ học cách kiểm tra xem một giá trị có tồn tại trong từ điển hay không. Bạn sẽ học cách thực hiện việc này bằng cách sử dụng toán tử

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
1, phương thức
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2, hàm
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
3 và phương thức
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4 và
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
5

Biết cách làm việc với từ điển Python là một kỹ năng quan trọng. Điều này có thể đặc biệt hữu ích khi làm việc với các API web trả về dữ liệu JSON

Mặc dù chúng ta có thể dễ dàng lập chỉ mục cho một từ điển, nhưng nếu một khóa không tồn tại, một

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
6 sẽ bị ném ra. Điều này sẽ gây ra một số vấn đề nghiêm trọng trong chương trình của bạn, trừ khi những lỗi này được xử lý

Một giải pháp thay thế an toàn hơn nhiều so với việc sử dụng lập chỉ mục từ điển, trước tiên hãy kiểm tra xem một khóa đã cho có tồn tại trong từ điển hay không. Hãy bắt đầu học

Câu trả lời nhanh. Sử dụng

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
1 để xem khóa có tồn tại không

Mục lục

Từ điển Python là gì?

Từ điển trong Python là một trong những cấu trúc dữ liệu chính được tích hợp sẵn. Chúng bao gồm _______ 8 cặp giúp việc tìm kiếm giá trị vật phẩm trở nên dễ dàng, nếu bạn biết khóa tương ứng của chúng. Một trong những thuộc tính duy nhất của từ điển là các khóa phải là duy nhất, nhưng các giá trị đó có thể được nhân đôi

Chúng ta hãy xem từ điển trông như thế nào trong Python. Chúng được tạo bằng cách sử dụng

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
9 dấu ngoặc nhọn và các cặp
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
8 được phân tách bằng dấu phẩy

Hãy tạo một từ điển tên là

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
1, trong đó chứa tuổi của những người khác nhau

ages = {
    'Matt': 30,
    'Katie': 29,
    'Nik': 31,
    'Jack': 43,
    'Alison': 32,
    'Kevin': 38
}

Một cách mà bạn thường được dạy để truy cập một giá trị từ điển là sử dụng lập chỉ mục thông qua truy cập dấu ngoặc vuông

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
2. Trong phần tiếp theo, bạn sẽ thấy cách lập chỉ mục từ điển hoạt động và tại sao nó không phải lúc nào cũng là lựa chọn tốt nhất. Sau đó, bạn sẽ tìm hiểu các phương pháp khác nhau để đảm bảo rằng khóa tồn tại

Vấn đề với việc lập chỉ mục từ điển Python

Lập chỉ mục từ điển là một cách dễ dàng để lấy giá trị của khóa từ điển - nếu khóa đã cho tồn tại trong từ điển. Hãy xem cách lập chỉ mục từ điển hoạt động. Chúng tôi sẽ sử dụng chỉ mục từ điển để lấy giá trị cho khóa

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
3 từ từ điển của chúng tôi
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
1

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31

Chúng ta có thể thấy ở đây điều này hoạt động rất tốt. Nói như vậy, hãy xem liệu chúng ta có thử lấy giá trị cho khóa

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
5 không tồn tại trong từ điển không

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'

Ở đây chúng ta có thể thấy rằng nếu chúng ta cố gắng truy cập giá trị của từ điển cho một khóa không tồn tại, thì một ___________6 sẽ bị ném ra. Điều này có một số ý nghĩa rất lớn đối với mã của bạn. Trừ khi lỗi được xử lý rõ ràng, chương trình sẽ thất bại. Một cách để tránh

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
6 là đảm bảo rằng một khóa thực sự tồn tại trong từ điển Python

Đó chính xác là những gì bạn sẽ học trong vài phần tiếp theo. Bắt đầu nào

Sử dụng Python để kiểm tra xem khóa có tồn tại không. Phím Python Phương pháp

Từ điển Python đi kèm với một phương thức tích hợp cho phép chúng ta tạo một đối tượng giống như danh sách chứa tất cả các khóa trong từ điển. Thuận tiện, đây được đặt tên là phương pháp

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4

In ra

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Jill']]

KeyError: 'Jill'
9 trông như thế này

print[ages.keys[]]
# Returns: dict_keys[['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']]

Chúng ta có thể thấy nó trông hơi giống một danh sách. Bây giờ chúng ta có thể kiểm tra xem một khóa có tồn tại trong đối tượng giống như danh sách đó không

Hãy xem cách chúng ta có thể sử dụng phương pháp

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4 để xem liệu một khóa có tồn tại trong từ điển hay không. Hãy sử dụng phương pháp này để xem khóa có tồn tại không

# Check if a key exists in a Python dictionary by checking all keys
ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

some_key = 'James'
if some_key in ages.keys[]:
    print['Key exists']
else:
    print['Key doesn\'t exist']

# Returns Key doesn't exist

Ở đây chúng ta có thể thấy rằng chúng ta kiểm tra xem một khóa được cung cấp,

print[ages.keys[]]
# Returns: dict_keys[['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']]
1, có tồn tại trong các khóa của từ điển của chúng ta hay không. Trong trường hợp này, khóa không tồn tại và chương trình in ra
print[ages.keys[]]
# Returns: dict_keys[['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']]
2

Trong phần tiếp theo, bạn sẽ học cách đơn giản hóa điều này hơn nữa

Sử dụng Python để kiểm tra xem khóa có tồn tại không. Python trong Toán tử

Phương pháp trên hoạt động tốt, nhưng chúng ta có thể đơn giản hóa việc kiểm tra xem một khóa đã cho có tồn tại trong từ điển Python hay không. Chúng ta thực sự có thể bỏ qua hoàn toàn phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4 và sử dụng toán tử
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
1 sẽ quét tất cả các khóa trong từ điển

Hãy xem cách nó hoạt động trong thực tế

ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

some_key = 'Nik'
if some_key in ages:
    print['Key exists']
else:
    print['Key doesn\'t exist']

# Returns: Key exists

Ở đây chúng ta có thể thấy rằng phương thức của chúng ta thực sự trông rất giống với phương thức ở trên, nhưng chúng ta đã có thể loại bỏ hoàn toàn phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4. Điều này thực sự giúp mã đọc ngôn ngữ đơn giản hơn một chút

trong phần tiếp theo, bạn sẽ tìm hiểu cách thực sự truy xuất giá trị của khóa, ngay cả khi khóa không tồn tại

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Sử dụng. get Phương pháp kiểm tra xem khóa có tồn tại trong từ điển Python không

Làm việc với từ điển trong Python thường liên quan đến việc lấy giá trị của khóa – không chỉ kiểm tra xem nó có tồn tại không. Trước đó, bạn đã học được rằng chỉ cần lập chỉ mục cho từ điển sẽ tạo ra một kết quả

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
6 nếu khóa không tồn tại. Làm thế nào chúng ta có thể làm điều này một cách an toàn, mà không phá vỡ chương trình?

Câu trả lời cho vấn đề này là sử dụng phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 của Python. Phương thức
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 sẽ chỉ trả về
print[ages.keys[]]
# Returns: dict_keys[['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']]
9 nếu khóa không tồn tại. Hãy thử điều này

ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

print[ages.get['Jack']]
print[ages.get['Jill']]

# Returns:
# 43
# None

Chúng ta có thể thấy ở đây rằng khi phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 được áp dụng để trả về một khóa tồn tại, giá trị của khóa đó được trả về chính xác. Khi một khóa không tồn tại, chương trình tiếp tục chạy, nhưng nó trả về
print[ages.keys[]]
# Returns: dict_keys[['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']]
9

Điều đặc biệt hữu ích về phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 của Python là nó cho phép chúng ta trả về một giá trị, ngay cả khi khóa không tồn tại

Giả sử chúng tôi muốn chương trình của mình thông báo rằng khóa không tồn tại. Chúng ta có thể yêu cầu phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 trả về “Khóa không tồn tại. ”

Hãy xem làm thế nào chúng ta có thể làm điều này

ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

print[ages.get['Jill', "The key doesn't exist"]]

# Returns: "The key doesn't exist!"

Phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2 là một cách tuyệt vời và an toàn để xem liệu một khóa có tồn tại trong từ điển Python hay không. Bây giờ, hãy tìm hiểu xem liệu một giá trị nhất định có tồn tại trong từ điển Python hay không

Kiểm tra xem Giá trị có tồn tại trong Từ điển Python hay không bằng cách sử dụng. giá trị[]

Tương tự như phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4 của từ điển Python, các từ điển có phương thức
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
5 tương ứng, phương thức này trả về một đối tượng giống như danh sách cho tất cả các giá trị trong từ điển

Hãy xem cách chúng ta có thể truy cập tất cả các giá trị của từ điển

ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

print[ages.values[]]
#Returns: dict_values[[30, 29, 31, 43, 32, 38]]

Chúng ta có thể sử dụng điều này để xem liệu một giá trị có tồn tại hay không. Giả sử chúng ta muốn biết tuổi 27 có tồn tại trong từ điển của chúng ta hay không, chúng ta có thể viết như sau

ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

some_age = 27

if some_age in ages.values[]:
    print['Age exists!']
else:
    print["Age doesn't exist!"]

# Returns: Age doesn't exist!

Bây giờ, điều gì sẽ xảy ra nếu chúng ta muốn trả lại khóa hoặc các khóa cho một giá trị nhất định. Chúng ta có thể làm điều này một cách an toàn bằng cách sử dụng cách hiểu danh sách, sẽ có ba hoán vị

  1. Hãy là một danh sách trống, nếu giá trị không tồn tại,
  2. Có một mục, nếu giá trị tồn tại một lần
  3. Có nhiều hơn một mục, nếu giá trị tồn tại nhiều lần

Hãy sử dụng một từ điển được sửa đổi một chút để xem điều này trong thực tế

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
0

Chúng tôi đã tạo một cách hiểu danh sách để thêm từng khóa, nếu giá trị của khóa đó bằng 43

Danh sách hiểu Python là gì?

Phần kết luận

Trong bài đăng này, bạn đã học cách kiểm tra xem một khóa có tồn tại trong từ điển Python hay không. Bạn đã học cách thực hiện điều này với phương thức

>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
4, toán tử
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
1 và phương thức
>>> ages = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
>>> print[ages['Nik']]

31
2. Bạn cũng đã học cách xem liệu một giá trị đã cho có tồn tại trong từ điển Python hay không và cách lấy [các] khóa của giá trị đó

Chủ Đề