Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเพิ่ม K ให้กับแต่ละองค์ประกอบในรายการ Python ของจำนวนเต็ม


ในการวิเคราะห์ข้อมูล บางครั้งจำเป็นต้องเพิ่มคุณค่าให้กับแต่ละองค์ประกอบในรายการ 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]