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

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

ในการวิเคราะห์ข้อมูล บางครั้งจึงจำเป็นต้องเพิ่มค่าบางอย่างให้กับแต่ละองค์ประกอบในรายการ Python เพื่อพิจารณาผลลัพธ์ของสถานการณ์ใหม่ สิ่งนี้ช่วยในการทดสอบหลายสถานการณ์ว่าชุดข้อมูลจะพฤติกรรมอย่างไรกับค่าต่างๆ จึงทำให้สร้างโมเดลหรืออัลกอริทึมที่สามารถจัดการสถานการณ์เหล่านั้นได้ ในบทความนี้ เราจะมาดูวิธีจัดการข้อกำหนดนี้

ใช้ List Comprehension

List comprehension เป็นวิธีปกติในการจัดการรายการที่เราวนลูปผ่านแต่ละองค์ประกอบของรายการ ในตัวอย่างด้านล่างเราเพิ่มจำนวนเดียวกันให้กับแต่ละองค์ประกอบของรายการโดยใช้ลูป for ธรรมดา

ตัวอย่าง

orig_list = [5, 6, 7, 4, 10]
print("The given list is : " + str(orig_list))
# ใช้ list comprehension
new_list = [n + 5 for n in orig_list]
# พิมพ์ผลลัพธ์
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]

ใช้ lambda กับ map

เมธอด map และ add ยังสามารถให้ผลลัพธ์เดียวกัน ฟังก์ชัน lambda ทำซ้ำการกระทำเดียวกันสำหรับจำนวนการวนที่กำหนด และ map ใช้จับผลลัพธ์หลังจากที่การวน lambda เสร็จสิ้น

ตัวอย่าง

orig_list = [5, 6, 7, 4, 10]
print("The given list is : " + str(orig_list))
# ใช้ 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() และ add()

แทนที่จะใช้ lambda operator เราสามารถใช้เมธอด add ร่วมกับ map ได้ ในตัวอย่างด้านล่าง เราสร้างรายการอีกอันที่มีจำนวนองค์ประกอบเท่ากับความยาวของรายการและมีตัวเลขที่ต้องการเพิ่ม แล้วนำเมธอด map ไปใช้

ตัวอย่าง

import operator
orig_list = [5, 6, 7, 4, 10]
print("The given list is : " + str(orig_list))
# เริ่มต้นรายการใหม่
list_with_k_value = [9] * len(orig_list)
# ใช้ 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]