ในการวิเคราะห์ข้อมูล บางครั้งจำเป็นต้องเพิ่มคุณค่าให้กับแต่ละองค์ประกอบในรายการ python เพื่อตัดสินผลลัพธ์ของสถานการณ์ใหม่ ซึ่งช่วยในการทดสอบสถานการณ์ต่างๆ ว่าชุดข้อมูลจะทำงานอย่างไรกับค่าต่างๆ กัน ดังนั้นจึงสร้างแบบจำลองหรืออัลกอริธึมที่สามารถจัดการกับสถานการณ์เหล่านั้นได้ ในบทความนี้ เราจะมาดูกันว่าเราจะจัดการกับข้อกำหนดนี้ได้อย่างไร
การใช้ความเข้าใจรายการ
ความเข้าใจรายการเป็นวิธีปกติในการจัดการรายการที่เราวนรอบแต่ละองค์ประกอบของรายการ ในตัวอย่างด้านล่าง เราเพิ่มตัวเลขเดียวกันให้กับแต่ละองค์ประกอบของรายการโดยใช้ for loop แบบง่าย
ตัวอย่าง
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # Use list comprehension new_list = [n + 5 for n in orig_list] # printing result print ("After adding 5 to each element to list : " + str(new_list))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
The given list is : [5, 6, 7, 4, 10] After adding 5 to each element to list : [10, 11, 12, 9, 15]
การใช้แลมบ์ดากับแผนที่
แผนที่และวิธีเพิ่มสามารถให้ผลลัพธ์เช่นเดียวกันกับเราได้ ฟังก์ชันแลมบ์ดาจะทำซ้ำการกระทำเดียวกันสำหรับจำนวนการวนซ้ำที่ติดอยู่ และแผนที่จะใช้เพื่อจับภาพผลลัพธ์หลังจากการวนซ้ำของแลมบ์ดาทั้งหมดสิ้นสุดลง
ตัวอย่าง
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) #Using map() + lambda new_list= list(map(lambda m : m + 3, orig_list)) print ("After adding i to each element to list : " + str(new_list))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
The given list is : [5, 6, 7, 4, 10] After adding i to each element to list : [8, 9, 10, 7, 13]
การใช้ map() และเพิ่ม()
แทนที่ตัวดำเนินการแลมบ์ดา เราสามารถใช้วิธีเพิ่มร่วมกับแผนที่ได้ ในตัวอย่างด้านล่าง เราสร้างรายการอื่นที่มีจำนวนองค์ประกอบเท่ากันกับความยาวของรายการ และมีหมายเลขที่ต้องเพิ่ม จากนั้นเราก็ใช้วิธีแผนที่
ตัวอย่าง
import operator orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # initializing new list list_with_k_value = [9] * len(orig_list) # using map() + operator.add new_list = list(map(operator.add, orig_list, list_with_k_value)) print ("After adding i2 to each element to list : " + str(new_list))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
The given list is : [5, 6, 7, 4, 10] After adding i2 to each element to list : [14, 15, 16, 13, 19]