Tìm hiểu cách sử dụng Python để kiểm tra xem khóa (hoặc một giá trị) có tồn tại trong từ điển một cách an toàn hay không, bằng cách sử dụng phương thức get, trong toán tử và hơn thế nữa!

Bạn đang xem : giá trị khóa của python trong từ điển

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để kiểm tra xem 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ử in , phương thức .get () , hàm has_key () và < phương thức code> .keys () và .values ​​() .

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 tôi có thể dễ dàng lập chỉ mục từ điển, nhưng nếu khóa không tồn tại, KeyError sẽ được đưa ra. Điều này sẽ gây ra một số sự cố 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 là kiểm tra xem một khóa nhất định 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 in để xem khóa có tồn tại không

Trả lời nhanh - Python Kiểm tra xem khóa có tồn tại trong từ điển không

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

Từ điển bằng 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 các cặp key: value giúp việc tìm kiếm giá trị của các mặt hàng 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ể bị trùng lặp.

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 dấu ngoặc nhọn {} và cặp key: value được phân tách bằng dấu phẩy.

Hãy tạo một từ điển có tên là age , tốt, chứa độ tuổi của những người khác nhau:

 age = {
    '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 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 [] . Trong phần tiếp theo, bạn sẽ thấy cách hoạt động của lập chỉ mục từ điển 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ẽ học 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 để nhận giá trị của khóa từ điển – nếu khóa đã cho tồn tại trong từ điển. Hãy cùng xem cách hoạt động của lập chỉ mục từ điển. Chúng tôi sẽ sử dụng tính năng lập chỉ mục từ điển để lấy giá trị cho khóa Nik từ từ điển của chúng tôi age :

 & gt; & gt; & gt; age = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
& gt; & gt; & gt; print (lứa tuổi ['Nik'])

31 

Chúng tôi có thể thấy ở đây rằng điều này hoạt động tốt. Điều đó đang được nói, hãy xem liệu chúng tôi có cố gắng lấy giá trị cho khóa Jill không tồn tại trong từ điển hay không:

 & gt; & gt; & gt; age = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}
& gt; & gt; & gt; print (lứa tuổi ['Jill'])

KeyError: 'Jill' 

Chúng tôi có thể thấy ở đây, rằng nếu chúng tôi 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ì KeyError sẽ xuất hiện. Đ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ẽ không thành công. Một cách để tránh KeyError 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 một vài phần tiếp theo. Hãy bắt đầu!

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

Từ điển Python đi kèm với một phương thức tích hợp cho phép chúng tôi 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 thức .keys () .

In ra dict.keys () trông giống như sau:

 print (age.keys ())
# Trả về: dict_keys (['Matt', 'Katie', 'Nik', 'Jack', 'Alison', 'Kevin']) 

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

Hãy xem cách chúng tôi có thể sử dụng phương thức .keys () để xem liệu 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 liệu khóa có tồn tại hay không:

 # Kiểm tra xem khóa có tồn tại trong từ điển Python hay không bằng cách kiểm tra tất cả các khóa
age = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Alison': 32, 'Kevin': 38}

some_key = 'James'
if some_key in age.keys ():
    print ('Khoá tồn tại')
khác:
    print ('Khoá không tồn tại')

# Khóa trả lại không tồn tại 

Tại đây, chúng tôi có thể thấy rằng chúng tôi kiểm tra xem khóa được cung cấp, some_key , có tồn tại trong các khóa của từ điển của chúng tôi 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 Khóa không tồn tại .

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

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

Phương pháp trên hoạt động tốt, nhưng chúng tôi có thể đơn giản hóa việc kiểm tra xem khóa đã cho có tồn tại trong từ điển Python hay không. Trên thực tế, chúng tôi có thể bỏ qua hoàn toàn phương thức .keys () và sử dụng toán tử in sẽ quét tất cả các khóa trong từ điển.

Hãy xem cách này hoạt động như thế nào trong thực tế:

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

some_key = 'Nik'
if some_key in age:
    print ('Khoá tồn tại')
khác:
    print ('Khoá không tồn tại')

# Trả về: Khoá tồn tại 

Ở đây, chúng tôi có thể thấy rằng phương pháp của chúng tôi thực sự trông rất giống với phương pháp ở trên, nhưng chúng tôi đã có thể loại bỏ hoàn toàn phương thức .keys () ! Đ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 đủ về tạo kiểu cho Gấu trúc tổng quan toàn diện của chúng tôi về Pivot Table in Pandas !

Sử dụng phương thức .get để 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 bằng Python thường liên quan đến việc nhận giá trị của khóa – không chỉ kiểm tra xem nó có tồn tại hay không. Trước đó, bạn đã biết rằng chỉ cần lập chỉ mục từ điển sẽ tạo ra một KeyError nếu một khóa không tồn tại. Làm cách nào để chúng tôi có thể thực hiện việc này một cách an toàn mà không làm hỏng chương trình?

Câu trả lời cho điều này là sử dụng phương thức Python .get () . Phương thức .get () sẽ chỉ trả về None nếu khóa không tồn tại. Hãy thử cái này:

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

print (age.get ('Jack'))
print (age.get ('Jill'))

# Trả lại:
# 43
# Không có 

Ở đây, chúng ta có thể thấy rằng khi phương thức .get () được áp dụng để trả về một khóa tồn tại, giá trị của khóa đó sẽ được trả về một cách chính xác. Khi khóa không tồn tại, chương trình tiếp tục chạy nhưng nó trả về Không .

Điều đặc biệt hữu ích về phương thức Python .get () là nó cho phép chúng tôi 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 tôi có thể yêu cầu phương thức .get () trả về “Khóa không tồn tại!”.

Hãy xem cách chúng tôi có thể làm điều này:

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

print (age.get ('Jill', "Khóa không tồn tại"))

# Trả về: "Khóa không tồn tại!" 

Phương thức .get () là một cách tuyệt vời và an toàn để xem liệu khóa có tồn tại trong từ điển Python hay không. Bây giờ, chúng ta 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 nếu một Giá trị tồn tại trong Từ điển Python Sử dụng .values ​​()

Tương tự như phương thức .keys () trong từ điển Python, từ điển có phương thức .values ​​() 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 tôi có thể truy cập tất cả các giá trị của từ điển:

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

print (age.values ​​())
#Returns: dict_values ​​([30, 29, 31, 43, 32, 38]) 

Chúng tôi 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 liệu tuổi 27 có tồn tại trong từ điển của mình hay không, chúng ta có thể viết như sau:

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

some_age = 27

if some_age in age.values ​​():
    print ('Tuổi tồn tại!')
khác:
    print ("Tuổi không tồn tại!")

# Trả về: Tuổi không tồn tại! 

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 tôi có thể thực hiện đ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 phép hoán vị:

  1. 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 từ điển được sửa đổi một chút để xem điều này hoạt động:

 # Lấy tất cả các khóa có giá trị nhất định trong từ điển Python
age = {'Matt': 30, 'Katie': 29, 'Nik': 31, 'Jack': 43, 'Jill': 43, 'Alison': 32, 'Kevin': 38}

value_43 = [khóa cho khóa, giá trị trong age.items () nếu giá trị == 43]

print (value_43)

# Trả về: ['Jack', 'Jill'] 

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

​​ Hiểu danh sách Python là gì? Để tìm hiểu thêm về cách hiểu danh sách, hãy xem hướng dẫn toàn diện của tôi tại đây và video chuyên sâu của tôi bên dưới!

Kết luận

Trong bài đăng này, bạn đã học cách kiểm tra xem 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 việc này với phương thức .keys () , toán tử in và phương thức .get () . Bạn cũng đã học cách xem liệu một giá trị nhất định 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ị đó.

Để tìm hiểu thêm về từ điển bằng Python, hãy xem tài liệu chính thức tại đây .


Xem thêm những thông tin liên quan đến chủ đề giá trị khóa python trong từ điển

How To Find Keys and Values in a Python 3 Dictionary

alt

  • Tác giả: Master Code Online
  • Ngày đăng: 2016-04-07
  • Đánh giá: 4 ⭐ ( 6385 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Check out our Python 3.7 tutorials at https://www.mastercode.online/courses/python-37-complete-tutorial-series

    Be sure to like, share and comment to show your support for our tutorials.

    =======================================
    Channel – https://goo.gl/pnKLqE
    Playlist For This Tutorial – https://goo.gl/EyZFti
    Latest Video – https://goo.gl/atWRkF
    Facebook – https://www.facebook.com/mastercodeonline/
    Twitter – https://twitter.com/mastercodeonlin?lang=en
    Website – http://mastercode.online
    ======================================

    In this Python 3 Tutoria,l we take a look at finding key and values in a python dictionary. Being able to locate data in a dictionary is key to programming.

Làm cách nào để in các cặp khóa-giá trị của từ điển bằng python

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 3306 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Mã hiện tại của bạn chỉ cần một chút điều chỉnh. i là chìa khóa, vì…

Python: Dictionary

  • Tác giả: v1study.com
  • Đánh giá: 3 ⭐ ( 1950 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dictionary (Từ điển) trong Python có đặc điểm mỗi khóa (key) được phân biệt với giá trị của nó bằng dấu hai chấm (:), các mục được phân tách bằng dấu phẩy

Chi tiết bài học 8.Từ điển trong Python (python dict)

  • Tác giả: vimentor.com
  • Đánh giá: 4 ⭐ ( 2795 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học Từ điển trong Python (python dict): ví dụ với update, cmp, len, sort, copy, items, str

Nhận khóa từ giá trị trong Từ điển bằng Python

  • Tác giả: vn.wsxdn.com
  • Đánh giá: 3 ⭐ ( 5343 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Python – Từ điển

  • Tác giả: isolution.pro
  • Đánh giá: 4 ⭐ ( 3110 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong Từ điển, mỗi khóa được phân tách khỏi giá trị của nó bằng dấu hai chấm (:), các mục được phân tách bằng dấu phẩy và toàn bộ khóa được đặt trong dấu ngoặc nhọn. Một từ điển trống không có bất kỳ mục nào được viết chỉ bằng hai dấu ngoặc nhọn, như sau: {}. Các khóa là…

Cấu trúc dữ liệu từ điển Dictionary trong Python

  • Tác giả: topdev.vn
  • Đánh giá: 5 ⭐ ( 8122 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong các bài trước chúng ta đã lần lượt làm quen với các kiểu dữ liệu này và còn lại Dictionary, một cấu trúc rất hay dùng trong Python, chúng ta sẽ làm quen với nó trong bài viết này.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hợp nhất danh sách (8 cách) • dữ liệu - thêm danh sách với nhau python

By ads_php