Từ điển python xóa tất cả các khóa ngoại trừ

Hãy xem xét rằng bạn có một từ điển Python có các cặp khóa-giá trị nhất định. Bạn sẽ xóa nhiều khóa khỏi từ điển đã cho như thế nào?

Việc xóa nhiều khóa khỏi từ điển Python dẫn đến việc xóa tất cả các cặp khóa-giá trị đã chỉ định đối với các khóa đã chỉ định khiến từ điển chỉ còn lại các cặp khóa-giá trị chưa bị xóa. Hãy để chúng tôi hình dung vấn đề đã cho với sự trợ giúp của một ví dụ

Thí dụ

Được cho
my_dictionary = {'key_1'. 'giá_trị_1', 'khóa_2'. 'giá_trị_2', 'khóa_3'. 'giá trị_3', 'khóa_4'. 'giá trị_4', 'khóa_5'. ‘giá trị_5’}
Thách đấu. Loại bỏ các phím. 'key_1' và 'key_3'
Sản lượng dự kiến
{'phím_2'. 'giá_trị_2', 'khóa_4'. 'giá trị_4', 'khóa_5'. ‘giá trị_5’}

Đọc liên quan. Xóa một phần tử trong từ điển. con trăn

Còn chần chừ gì nữa, hãy đi sâu vào các giải pháp cho thách thức lập trình

⦿ Cách 1. Sử dụng từ khóa 'For Loop' và 'del'

Từ khóa del cùng với khóa được chỉ định cho phép chúng tôi xóa các phần tử khỏi từ điển

Tiếp cận. Lưu trữ các khóa cần xóa trong danh sách và sau đó sử dụng 'vòng lặp for' để lặp qua tất cả các phần tử của danh sách này. Bây giờ hãy truy cập các phần tử trong từ điển đã cho bằng cách sử dụng từng khóa và xóa chúng bằng cách sử dụng từ khóa “del” bằng cú pháp.

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}
0

Mã số

my_dictionary = {
    'key_1': 'value_1',
    'key_2': 'value_2',
    'key_3': 'value_3',
    'key_4': 'value_4',
    'key_5': 'value_5'
}
remove_keys = ['key_1', 'key_3']
for key in remove_keys:
    del my_dictionary[key]

print[my_dictionary]

đầu ra

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}

⦿ Cách 2. Sử dụng từ khóa 'For Loop' và 'pop'

Tiếp cận. Lưu trữ các khóa cần xóa trong danh sách. Sau đó, sử dụng vòng lặp for trên danh sách các khóa và tại mỗi lần lặp, hãy gọi phương thức dictionary.pop[key] để xóa một khóa cụ thể khỏi từ điển đã cho

Mã số

my_dictionary = {
    'key_1': 'value_1',
    'key_2': 'value_2',
    'key_3': 'value_3',
    'key_4': 'value_4',
    'key_5': 'value_5'
}
remove_keys = ['key_1', 'key_3']
for key in remove_keys:
    my_dictionary.pop[key]

print[my_dictionary]

đầu ra

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}

Lót. Có một cách ngắn gọn hơn để xây dựng giải pháp trên trong một dòng mã. Đây là cách thực hiện

# Given Data
my_dictionary = {
    'key_1': 'value_1',
    'key_2': 'value_2',
    'key_3': 'value_3',
    'key_4': 'value_4',
    'key_5': 'value_5'
}
# One-Liner
[my_dictionary.pop[key] for key in ['key_1', 'key_3']];print[my_dictionary]

⦿ Cách 3. Giải pháp một dòng bằng cách hiểu từ điển

Tiếp cận. Lặp lại tất cả các khóa trong từ điển ngoại trừ những khóa bạn muốn xóa bằng cách hiểu từ điển và sau đó chỉ lưu trữ các khóa-giá trị bắt buộc trong từ điển. Do đó, kỹ thuật này sẽ tự động loại bỏ các cặp khóa-giá trị khỏi từ điển

Mã số

my_dictionary = {
    'key_1': 'value_1',
    'key_2': 'value_2',
    'key_3': 'value_3',
    'key_4': 'value_4',
    'key_5': 'value_5'
}
# One-liner
my_dictionary = {i: my_dictionary[i] for i in my_dictionary if i not in ['key_1', 'key_3']}
# Display result
print[my_dictionary]

đầu ra

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}

Giải trình. Hãy phân tích một lớp lót để hiểu cách thức hoạt động của nó. Biểu thức lưu trữ các cặp khóa-giá trị trong từ điển mà bạn không muốn xóa. Để loại bỏ các khóa đã chỉ định, chúng ta có biến ngữ cảnh “i” biểu thị từng khóa cần loại bỏ. Vòng lặp for cho phép bạn chỉ xem xét các khóa được yêu cầu với sự trợ giúp của câu lệnh if có điều kiện giúp bạn bỏ qua các khóa đã chỉ định. Vì vậy, bạn có thể coi đây là một kỹ thuật loại bỏ và chinh phục

Một công thức thay thế sử dụng logic tương tự như sau

________số 8_______

Nhưng trước khi chúng ta tiếp tục, tôi rất vui được giới thiệu với bạn cuốn sách Python mới của tôi Python One-Liners [Amazon Link]

Nếu bạn thích một lớp lót, bạn sẽ YÊU cuốn sách. Nó sẽ dạy cho bạn mọi thứ cần biết về một dòng mã Python. Nhưng nó cũng là phần giới thiệu về khoa học máy tính, khoa học dữ liệu, máy học và thuật toán. Vũ trụ trong một dòng Python

Sách được phát hành năm 2020 với nhà xuất bản sách lập trình đẳng cấp thế giới NoStarch Press [San Francisco]

liên kết. https. //Không có tinh bột. com/pythononeliners

⦿ Cách 4. Sử dụng cửa sổ bật lên và bản đồ

Đây có thể không phải là giải pháp Pythonic nhất. Tuy nhiên, nó giải quyết được mục đích và mang lại cho chúng tôi đầu ra mà chúng tôi mong muốn

Tiếp cận. Ý tưởng là lưu trữ các khóa cần loại bỏ trong danh sách và sau đó sử dụng phương thức map[]. Truyền phương thức

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}
2 làm đối số đầu tiên cho phương thức bản đồ trong khi đối số thứ hai phải là một đối số có thể lặp lại và trong trường hợp này, đối số/có thể lặp lại thứ hai là danh sách chứa các khóa cần xóa

Mã số

my_dictionary = {
    'key_1': 'value_1',
    'key_2': 'value_2',
    'key_3': 'value_3',
    'key_4': 'value_4',
    'key_5': 'value_5'
}
remove_keys = ['key_1', 'key_3']
list[map[my_dictionary.pop, remove_keys]]
print[my_dictionary]

TIDBIT. Hàm 

{'key_2': 'value_2', 'key_4': 'value_4', 'key_5': 'value_5'}
3 biến đổi một hoặc nhiều lần lặp thành một lần lặp mới bằng cách áp dụng "hàm biến đổi" cho các phần tử thứ i của mỗi lần lặp. Các đối số là đối tượng hàm biến đổi và một hoặc nhiều lần lặp. Nếu bạn chuyển n mục lặp làm đối số, thì hàm biến đổi phải là hàm n-ary lấy n đối số đầu vào. Giá trị trả về là một đối tượng bản đồ có thể lặp lại của các phần tử được biến đổi và có thể được tổng hợp

Đọc thêm về phương pháp bản đồ tại đây. Bản đồ Python [] - Cuối cùng cũng thành thạo chức năng bản đồ Python [+Video]

kết luận

Chúng tôi đã chinh phục thành công thử thách lập trình nhất định và giải quyết nó bằng bốn cách khác nhau. Tôi hy vọng hướng dẫn này đã giúp bạn. Vui lòng đăng ký và theo dõi để khám phá các khái niệm mới mỗi ngày

Mã hóa vui vẻ. 🙂

Học viện Khoa học Máy tính Finxter

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không phạm lỗi. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
  • Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
  • Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web

Tham gia Web Scraping với BeautifulSoup Masterclass ngay bây giờ và thành thạo nó vào ngày mai

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Tôi có thể sử dụng phương thức Clear[] để xóa từ điển không?

Phương thức clear[] xóa tất cả các phần tử khỏi từ điển .

Các cách khác nhau để xóa một giá trị khỏi từ điển là gì?

Cách xóa mục khỏi từ điển .
từ khóa del
Phương thức rõ ràng []
Phương thức pop[]
Phương thức popitem[]

Chủ Đề