Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Lọc dictionary theo giá trị tại khóa K trong danh sách

Khi cần lọc các dictionary trong danh sách dựa trên giá trị tại một khóa cụ thể có nằm trong tập giá trị cho trước hay không, ta dùng vòng lặp và điều kiện in.

Ví dụ

Minh họa:

my_list = [{"Python": 2, "is": 4, "cool": 11}, {"Python": 5, "is": 1, "cool": 1}, {"Python": 7, "is": 3, "cool": 7}, {"Python": 9, "is": 9, "cool": 8}, {"Python": 4, "is": 10, "cool": 6}]
print("Danh sách ban đầu:")
print(my_list)
search_list = [1, 9, 8, 4, 5]
key = "is"
my_result = []
for sub in my_list:
    if sub[key] in search_list:
        my_result.append(sub)
print("Kết quả lọc:")
print(my_result)

Kết quả

Danh sách ban đầu: [{'Python': 2, 'is': 4, 'cool': 11}, {'Python': 5, 'is': 1, 'cool': 1}, {'Python': 7, 'is': 3, 'cool': 7}, {'Python': 9, 'is': 9, 'cool': 8}, {'Python': 4, 'is': 10, 'cool': 6}]
Kết quả lọc: [{'Python': 2, 'is': 4, 'cool': 11}, {'Python': 5, 'is': 1, 'cool': 1}, {'Python': 9, 'is': 9, 'cool': 8}]

Giải thích

  • Danh sách dictionary, danh sách giá trị tìm kiếm, khóa cần kiểm tra.
  • Khởi tạo list rỗng kết quả.
  • Duyệt từng dict, nếu sub[key] in search_list thì append.
  • In kết quả.