ในส่วนหนึ่งของการวิเคราะห์ข้อมูล เราจะพบสถานการณ์ต่างๆ เพื่อลบค่าลบจากพจนานุกรม สำหรับสิ่งนี้เราต้องวนซ้ำองค์ประกอบแต่ละอย่างในพจนานุกรมและใช้เงื่อนไขเพื่อตรวจสอบค่า ด้านล่างนี้สามารถดำเนินการได้สองวิธีเพื่อให้บรรลุเป้าหมายนี้
ใช้สำหรับวนซ้ำ
W เพียงแค่วนซ้ำองค์ประกอบของรายการโดยใช้การวนซ้ำ ในการวนซ้ำทุกครั้ง เราใช้ฟังก์ชัน items เพื่อเปรียบเทียบค่าขององค์ประกอบกับ 0 เพื่อตรวจสอบค่าลบ
ตัวอย่าง
dict_1 = {'x':10, 'y':20, 'z':-30, 'p':-0.5, 'q':50} print ("Given Dictionary :", str(dict_1)) final_res_1 = dict((i, j) for i, j in dict_1.items() if j >= 0) print("After filtering the negative values from dictionary : ", str(final_res_1))
ผลลัพธ์
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
Given Dictionary : {'x': 10, 'y': 20, 'z': -30, 'p': -0.5, 'q': 50} After filtering the negative values from dictionary : {'x': 10, 'y': 20, 'q': 50}
การใช้ฟังก์ชันแลมบ์ดา
เราใช้ฟังก์ชันแลมบ์ดาสำหรับรูปแบบที่สั้นและชัดเจนยิ่งขึ้น ในกรณีนี้ เราใช้ตรรกะเดียวกันกับข้างต้นแต่ใช้ฟังก์ชันแลมบ์ดาแทน
ตัวอย่าง
dictA = {'x':-4/2, 'y':15, 'z':-7.5, 'p':-9, 'q':17.2} print ("\nGiven Dictionary :", dictA) final_res = dict(filter(lambda k: k[1] >= 0.0, dictA.items())) print("After filtering the negative values from dictionary : ", str(final_res))
ผลลัพธ์
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
Given Dictionary : {'x': -2.0, 'y': 15, 'z': -7.5, 'p': -9, 'q': 17.2} After filtering the negative values from dictionary : {'y': 15, 'q': 17.2}