Python: Kiểm tra xem khóa (hoặc giá trị) có tồn tại trong từ điển hay không (5 cách dễ dàng) • datagy – khóa python trong từ điển

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 theo 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 : khó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ố 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 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 hay 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 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 lập chỉ mục từ điển hoạt động và lý do 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 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. Chúng ta hãy 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; in (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ẽ được 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ẽ 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 được 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. Chúng tôi thực sự 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 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 ta 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ể làm điều này một cách an toàn bằng cách sử dụng khả năng hiểu danh sách, sẽ có ba 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 một 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ủ đề khóa python trong từ điển

Sorting keys and values in dictionaries in Python

alt

  • Tác giả: Andy Dolinski
  • Ngày đăng: 2015-12-16
  • Đánh giá: 4 ⭐ ( 1407 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In this video I look at how you can make use of dictionaries more effectively. In this video, I have created a dictionary that records the sales of fruit over a three week period. In the video I show you how you can sort all the data in the dictionary including by key and by value.

Python: Dictionary

  • Tác giả: v1study.com
  • Đánh giá: 4 ⭐ ( 6482 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

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

  • Tác giả: topdev.vn
  • Đánh giá: 4 ⭐ ( 5274 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.

Python cơ bản

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

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

  • Tác giả: vimentor.com
  • Đánh giá: 3 ⭐ ( 5798 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

Python 101: Tất cả về từ điển

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 2608 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ngôn ngữ lập trình Python có một số loại tích hợp mà nó hỗ trợ. Một trong những mục yêu thích của tôi là từ điển. Từ điển là một đối tượng ánh xạ ánh xạ các giá trị có thể băm sang các đối…

Cách sử dụng từ điển trong Python

  • Tác giả: t3h.edu.vn
  • Đánh giá: 5 ⭐ ( 8901 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Từ điển trong Python là danh sách các giá trị dữ liệu không được sắp xếp và có thể được thay đổi bằng cách sử dụng các phương thức tích hợp sẵn. Đây là là một trong những kiến thức mà bạn nhất định phải biết khi tìm hiểu về Python.

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  Cách mở tệp bằng Java - cách tải tệp trong java