Python lọc danh sách từ điển theo các giá trị duy nhất

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để lọc nội dung từ một từ điển theo các điều kiện về khóa hoặc giá trị hoặc trên cả hai

Giả sử chúng ta có một từ điển trong đó phần tử kiểu int là khóa và phần tử kiểu chuỗi là giá trị i. e

dictOfNames = {
   7 : 'sam',
   8: 'john',
   9: 'mathew',
   10: 'riti',
   11 : 'aadi',
   12 : 'sachin'
}

Bây giờ hãy thảo luận về các cách khác nhau để lọc nội dung của từ điển này với các điều kiện tùy ý,

Lọc Từ điển theo điều kiện bằng cách tạo hàm Chung

Lọc từ điển theo khóa trong Python

Giả sử chúng ta muốn lọc từ điển trên bằng cách chỉ giữ lại các phần tử có khóa chẵn. Để làm được điều đó, chúng ta chỉ cần lặp lại tất cả các mục của
từ điển và thêm các phần tử có khóa chẵn vào một từ điển khác i. e.

newDict = dict[]
# Iterate over all the items in dictionary and filter items which has even keys
for [key, value] in dictOfNames.items[]:
   # Check if key is even then add pair to new dictionary
   if key % 2 == 0:
       newDict[key] = value

print['Filtered Dictionary : ']
print[newDict]

Đầu ra.
______2
Từ điển được lọc i. e. newDict hiện chứa các phần tử được lọc từ từ điển gốc i. e. các phần tử có khoá chia hết cho 2. Tương tự, chúng ta có thể lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã lặp đi lặp lại và kiểm tra điều kiện, chúng ta chuyển mã sang một hàm chung và truyền điều kiện từ bên ngoài vào. e.
'''
Iterate over all the key value pairs in dictionary and call the given
callback function[] on each pair. Items for which callback[] returns True,
add them to the new dictionary. In the end return the new dictionary.
'''
def filterTheDict[dictObj, callback]:
    newDict = dict[]
    # Iterate over all the items in dictionary
    for [key, value] in dictObj.items[]:
        # Check if item satisfies the given condition then add to new dict
        if callback[[key, value]]:
            newDict[key] = value
    return newDict

Hàm này chấp nhận,

quảng cáo

  • Một cuốn từ điển
  • Hàm chấp nhận cặp khóa/giá trị và trả về Đúng hoặc Sai

Hàm này lặp qua tất cả các cặp giá trị khóa trong từ điển và gọi hàm gọi lại đã cho[] trên mỗi cặp. Các mục mà hàm callback[] trả về True được thêm vào từ điển mới. Cuối cùng, từ điển mới được trả về

Bây giờ, hãy sử dụng điều này để lọc từ điển theo khóa i. e

# Filter a dictionary to keep elements only whose keys are even
newDict = filterTheDict[dictOfNames, lambda elem : elem[0] % 2 == 0]

print['Filtered Dictionary : ']
print[newDict]

Đầu ra.
______5
Hàm lambda đã truyền được sử dụng làm điều kiện trong khi lọc nội dung bên trong hàm filterTheDict[]. Nó trả về một từ điển mới chỉ chứa các phần tử có các khóa chẵn.

Lọc từ điển theo giá trị trong Python

Hãy sử dụng cùng chức năng filterTheDict[] được tạo ở trên để lọc từ điển. Giả sử chúng ta chỉ muốn giữ các phần tử trong từ điển có trường giá trị chứa chuỗi có độ dài 6. Để làm điều đó, hãy chuyển hàm lambda khác cho filterTheDict[] i. e

# Filter a dictionary to keep elements only whose values are string of length 6
newDict = filterTheDict[dictOfNames, lambda elem: len[elem[1]] == 6]

Đầu ra.
______7
Đã truyền hàm lambda cho filterTheDict[] trong đó chúng tôi chỉ kiểm tra điều kiện trên trường giá trị. Nó trả về một từ điển mới chứa các phần tử có giá trị là chuỗi có độ dài 6.

Lọc từ điển theo bộ lọc[]

Thay vì tạo hàm riêng, chúng ta cũng có thể sử dụng hàm filter[] của python

hàm filter[] chấp nhận a,

  • một trình tự lặp lại được lọc
  • một hàm chấp nhận một đối số và trả về bool i. e. Đúng hay Sai dựa trên logic của nó

trả lại

  • Chuỗi nội dung được lọc mới

Chúng ta cần chuyển đổi chuỗi trả về này thành dict một lần nữa. Hãy sử dụng filter[] để thực hiện lọc có điều kiện trên từ điển.
Từ điển gốc của chúng tôi là,

dictOfNames = {
   7 : 'sam',
   8: 'john',
   9: 'mathew',
   10: 'riti',
   11 : 'aadi',
   12 : 'sachin'
}

Lọc Từ điển theo các khóa trong Python bằng bộ lọc[]

Hãy lọc các mục trong từ điển có khóa chẵn. e. chia hết cho 2,

# Filter dictionary by keeping elements whose keys are divisible by 2
newDict = dict[filter[lambda elem: elem[0] % 2 == 0, dictOfNames.items[]]]

print['Filtered Dictionary : ']
print[newDict]

Đầu ra.
______5
Lọc Từ điển theo các giá trị trong Python bằng bộ lọc[]

Hãy lọc các mục trong từ điển có giá trị là chuỗi có độ dài 6,

newDict = dict[]
# Iterate over all the items in dictionary and filter items which has even keys
for [key, value] in dictOfNames.items[]:
   # Check if key is even then add pair to new dictionary
   if key % 2 == 0:
       newDict[key] = value

print['Filtered Dictionary : ']
print[newDict]
1
Đầu ra.
______7
hàm filter[] lặp lại trên tất cả các phần tử trong dict đã truyền và lọc các phần tử dựa trên điều kiện được truyền dưới dạng gọi lại.

Lọc từ điển theo Dict Comprehension

Từ điển gốc của chúng tôi là,

dictOfNames = {
   7 : 'sam',
   8: 'john',
   9: 'mathew',
   10: 'riti',
   11 : 'aadi',
   12 : 'sachin'
}

Lọc Từ điển theo các khóa trong Python bằng khả năng đọc chính tả

Hãy lọc các mục trong từ điển có khóa chẵn. e. chia hết cho 2 bằng cách sử dụng đọc chính tả,

newDict = dict[]
# Iterate over all the items in dictionary and filter items which has even keys
for [key, value] in dictOfNames.items[]:
   # Check if key is even then add pair to new dictionary
   if key % 2 == 0:
       newDict[key] = value

print['Filtered Dictionary : ']
print[newDict]
4
Đầu ra.
______2
Lọc Từ điển theo các giá trị trong Python bằng khả năng đọc chính tả

Hãy lọc các mục trong từ điển có giá trị là chuỗi có độ dài 6 bằng cách sử dụng tính năng đọc chính tả,

newDict = dict[]
# Iterate over all the items in dictionary and filter items which has even keys
for [key, value] in dictOfNames.items[]:
   # Check if key is even then add pair to new dictionary
   if key % 2 == 0:
       newDict[key] = value

print['Filtered Dictionary : ']
print[newDict]
6
Đầu ra.
______17
Nó lặp lại trên tất cả các phần tử trong dict đã truyền và lọc các phần tử dựa trên điều kiện được truyền dưới dạng gọi lại.

Hướng dẫn từ điển Python - Series

  1. Từ điển trong Python là gì và tại sao chúng ta cần nó?
  2. Tạo từ điển trong Python
  3. Lặp lại từ điển
  4. Kiểm tra xem một khóa có tồn tại trong từ điển không
  5. Kiểm tra nếu một giá trị tồn tại trong từ điển
  6. Nhận tất cả các khóa trong Từ điển
  7. Nhận tất cả các giá trị trong từ điển
  8. Xóa khóa khỏi Từ điển
  9. Thêm cặp khóa/giá trị trong Từ điển
  10. Tìm khóa theo giá trị trong Từ điển
  11. Lọc từ điển theo điều kiện
  12. In từng dòng từ điển
  13. Chuyển đổi danh sách thành từ điển
  14. Sắp xếp từ điển theo khóa
  15. Sắp xếp từ điển theo giá trị theo thứ tự giảm dần hoặc tăng dần
  16. Từ điển. Bản sao nông và bản sao sâu
  17. Loại bỏ các phím trong khi lặp lại
  18. Nhận tất cả các khóa có giá trị tối đa
  19. Hợp nhất hai hoặc nhiều từ điển trong python

Đăng ký với chúng tôi để tham gia danh sách hơn 2000 lập trình viên và nhận các mẹo & hướng dẫn mới nhất tại hộp thư đến của bạn thông qua bản tin hàng tuần của chúng tôi

Ví dụ hoàn chỉnh như sau,

newDict = dict[]
# Iterate over all the items in dictionary and filter items which has even keys
for [key, value] in dictOfNames.items[]:
   # Check if key is even then add pair to new dictionary
   if key % 2 == 0:
       newDict[key] = value

print['Filtered Dictionary : ']
print[newDict]
8
Đầu ra.
______19
 

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Bạn có thể lọc từ điển bằng Python không?

Lọc từ điển Python theo giá trị bằng hàm chung .

Từ điển có phải là duy nhất trong Python không?

Từ điển Python là gì? . Từ điển được viết bằng dấu ngoặc nhọn [{}], bao gồm các cặp khóa-giá trị được phân tách bằng dấu phẩy [,]. A dictionary is an unordered and mutable Python container that stores mappings of unique keys to values. Dictionaries are written with curly brackets [{}], including key-value pairs separated by commas [,].

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 .

Bạn có thể tạo một bộ Dicts bằng Python không?

Cấu trúc dữ liệu từ điển có thể được tạo theo hai cách chính. Cách tiếp cận đầu tiên để tạo từ điển là xác định phần tử khóa và giá trị bên trong dấu ngoặc nhọn '{}' và phương pháp khác là gọi hàm dict[] có sẵn trong Python.

Chủ Đề