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 chomy_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
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