วิธีคูณรายการใน Python: 7 วิธีด่วน

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

หากต้องการคูณรายการใน Python คุณสามารถใช้ฟังก์ชัน for loop, list comprehension, zip และ map หรือโมดูล functools ในตัว คุณยังสามารถใช้ฟังก์ชันจากไลบรารี Python ภายนอก เช่น NumPy

บทความนี้จะแสดงวิธีต่างๆ มากมายในการคูณรายการ แต่ละรายการมีตัวอย่างโค้ดและผลลัพธ์ที่อธิบาย

มาเริ่มกันเลย!

สารบัญ

2 ประเภทของการคูณรายการตัวเลขใน Python

ก่อนที่เราจะลงลึกถึงวิธีการเฉพาะ คุณควรเข้าใจประเภทของการคูณรายการที่พวกเขาทำได้

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

บทความนี้มุ่งเน้นไปที่การคูณเลขคณิตสองประเภทแทนองค์ประกอบภายในรายการ:

  1. คูณด้วยค่า

  2. การคูณเชิงองค์ประกอบ

ลองมาดูแนวคิดทั้งสองนี้อย่างรวดเร็ว

1. การคูณด้วยค่า

เมื่อคุณมีรายการจำนวนเต็ม คุณอาจต้องการคูณแต่ละองค์ประกอบด้วยค่าเฉพาะ ตัวอย่างเช่น คุณมีรายการ [1, 2, 3] และคุณต้องการคูณแต่ละองค์ประกอบด้วยค่า 3

คุณสามารถลอง (ไม่ถูกต้อง) เพื่อใช้ตัวดำเนินการคูณในโค้ดชิ้นนี้:

list1 = [1, 2, 3]
result = list1 * 3

คุณอาจประหลาดใจที่ผลลัพธ์คือ [1, 2, 3, 1, 2, 3, 1, 2, 3] สิ่งนี้เรียกว่าการจำลองแบบรายการ

2. การคูณรายการที่ชาญฉลาด

สมมติว่าคุณมีสองรายการ: [1, 2, 3] และ [4, 5, 6]

คุณต้องการคูณองค์ประกอบที่ดัชนีเดียวกันภายในรายการเพื่อสร้างผลลัพธ์เป็น [4, 10, 18]

หากคุณพยายามคูณสองรายการ Pythonเข้าด้วยกันโดยใช้ตัวดำเนินการ '*' คุณจะได้รับข้อผิดพลาด:

TypeError: ไม่สามารถคูณลำดับโดยไม่ใช่ int ของประเภท 'รายการ'

นี่เป็นเพราะตัวดำเนินการคูณไม่ได้รับการออกแบบให้ทำงานกับรายการในลักษณะที่ทำกับจำนวนเต็มหรือทศนิยม การคูณรายการต้องใช้การดำเนินการที่เรียกว่าการคูณแบบองค์ประกอบ

การคูณแบบแยกองค์ประกอบจะจับคู่องค์ประกอบที่สอดคล้องกันจากสองรายการและคูณเข้าด้วยกัน เกิดเป็นรายการใหม่

ตอนนี้คุณเข้าใจแนวคิดทั้งสองนี้แล้ว ลองใช้เทคนิคต่างๆ เพื่อให้ได้ผลลัพธ์ที่ถูกต้อง

วิธีใช้ For Loop ไปยังองค์ประกอบรายการหลายรายการใน Python

วิธีคูณรายการใน Python: 7 วิธีด่วน

สมมติว่าคุณต้องการคูณรายการองค์ประกอบด้วยค่า สำหรับแนวทางนี้ คุณสามารถวนซ้ำองค์ประกอบด้วยการวนรอบและคูณแต่ละองค์ประกอบด้วยค่าที่สอง

นี่คือตัวอย่างที่มีหนึ่งรายการ ตัวแปรผลลัพธ์เก็บรายการผลลัพธ์

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

ในกรณีนี้ รายการผลลัพธ์จะเป็น [3, 6, 9, 12]

วิธีใช้รายการความเข้าใจสำหรับการคูณ

ความเข้าใจในรายการเป็นวิธีที่กระชับในการคูณรายการประเภทตัวเลข คุณจะได้ผลลัพธ์เหมือนกับการใช้for loop แต่ด้วยไวยากรณ์ที่กะทัดรัดกว่า

นี่คือตัวอย่างก่อนหน้าที่ใช้รายการความเข้าใจ:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

โค้ดนี้ให้ผลลัพธ์เหมือนเดิม: [3, 6, 9, 12]

วิธีใช้ฟังก์ชัน Zip สำหรับการคูณแบบแยกองค์ประกอบ

วิธีคูณรายการใน Python: 7 วิธีด่วน

หากคุณมีรายการจำนวนเต็มสองรายการ คุณอาจต้องการคูณองค์ประกอบรายการ ซึ่งหมายความว่าคุณคูณองค์ประกอบแรกในรายการแรกกับองค์ประกอบแรกในรายการที่สองและต่อไปเรื่อยๆ กับองค์ประกอบในตำแหน่งเดียวกัน

ฟังก์ชันzip()สามารถทำได้เมื่อคุณรวมกับรายการความเข้าใจ

ฟังก์ชันนี้รวมองค์ประกอบของรายการอินพุตสองรายการ ทำให้คุณสามารถวนซ้ำรายการเหล่านั้นแบบขนานได้ ตัวอย่างการใช้รายการที่มีขนาดเท่ากันมีดังนี้

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

ในกรณีนี้ ตัวแปรผลลัพธ์จะเก็บรายการผลลัพธ์: [4, 10, 18]

การทำงานกับทูเพิลและคอนสตรัคเตอร์

บางครั้ง คุณอาจต้องทำงานกับรายการที่มีทูเพิลแทนที่จะเป็นจำนวนเต็มธรรมดา

หากต้องการคูณสองรายการของทูเพิลคุณสามารถใช้ส่วนผสมของ:

  • ฟังก์ชัน zip()

  • ตัวสร้างทูเพิล

  • รายการความเข้าใจ

นี่คือตัวอย่าง:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

นี่คือผลลัพธ์: [(5, 12), (21, 32)]

วิธีใช้ฟังก์ชัน Map และ Lambda ใน Python

วิธีคูณรายการใน Python: 7 วิธีด่วน

ฟังก์ชัน map ใน Python เป็นวิธีที่สะดวกในการใช้ฟังก์ชันกับแต่ละรายการในลักษณะวนซ้ำได้เหมือนรายการ

ฟังก์ชันแลมบ์ดาใน Python เป็นฟังก์ชันนิรนามขนาดเล็ก ซึ่งหมายความว่าเป็นฟังก์ชันที่ไม่มีชื่อ

หากต้องการคูณสองรายการตามองค์ประกอบ คุณสามารถรวมฟังก์ชันแผนที่และแลมบ์ดาเข้าด้วยกัน:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

ตัวแปรผลลัพธ์จะเก็บรายการคูณ: [4, 10, 18]

วิธีใช้โมดูลตัวดำเนินการใน Python

โมดูลตัวดำเนินการมีฟังก์ชันที่มีประโยชน์มากมายสำหรับการทำงานกับโครงสร้างข้อมูลและประเภทต่างๆ

คุณสามารถใช้ ฟังก์ชันoperation.mul()เพื่อคูณรายการของจำนวนเต็มเมื่อคุณรวมกับฟังก์ชันแผนที่

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

ในตัวอย่างนี้ คุณนำเข้าโมดูลตัวดำเนินการและใช้ ฟังก์ชัน mul()ร่วมกับ ฟังก์ชัน map() ในตัว ของ Python เพื่อคูณแต่ละองค์ประกอบของสองรายการ

ตัวแปรผลลัพธ์จะเก็บรายการคูณ: [4, 10, 18]

NumPy Library: ฟังก์ชัน Array และ Multiply

วิธีคูณรายการใน Python: 7 วิธีด่วน

ไลบรารีNumPyเป็นไลบรารีภายนอกที่มีประสิทธิภาพใน Python ซึ่งใช้กันอย่างแพร่หลายสำหรับการคำนวณเชิงตัวเลขและการทำงานกับอาร์เรย์ ไลบรารีนี้มีประสิทธิภาพเป็นพิเศษเมื่อต้องจัดการกับอาร์เรย์ขนาดใหญ่หรืออาร์เรย์หลายมิติ

หากต้องการใช้ NumPy คุณสามารถติดตั้งได้โดยใช้ pip:

pip install numpy

หากต้องการทำการคูณองค์ประกอบในสองรายการโดยใช้ NumPy ให้ทำตามขั้นตอนทั่วไปเหล่านี้:

  1. แปลงแต่ละรายการเป็นอาร์เรย์ NumPy โดยใช้numpy.array( )

  2. ทำการคูณโดยใช้ฟังก์ชันกา��คูณ NumPy

  3. หรือแปลงผลลัพธ์กลับเป็นรายการ Python โดยใช้เมธอดtolist()

นี่คือตัวอย่างโค้ด:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

ซึ่งจะส่งคืนผลลัพธ์เดียวกันกับในตัวอย่างก่อนหน้า: [4, 10, 18]

วิธีรวม Functools และ NumPy ใน Python

ไลบรารี functools มีฟังก์ชันลดที่ใช้ฟังก์ชันเฉพาะแบบสะสมกับรายการในรายการ ลดรายการเป็นค่าเดียว

ในการคูณสองรายการโดยใช้ ฟังก์ชัน reduce()คุณสามารถรวมเข้ากับฟังก์ชันการคูณจากไลบรารี NumPy

นี่คือตัวอย่าง:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

รหัสนี้นำเข้าไลบรารีที่จำเป็นและใช้ ฟังก์ชัน reduce()ร่วมกับnumpy.multiply()เพื่อดำเนินการคูณองค์ประกอบของสองรายการ

การทำงานกับรายการและโครงสร้างข้อมูลอื่นๆ ใน Python

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

ดูวิดีโอนี้เพื่อดูเทคนิคขั้นสูง:

ความคิดสุดท้าย

คุณได้เรียนรู้วิธีต่างๆ ในการคูณรายการทางเลขคณิตใน Python บางส่วนใช้เฉพาะโมดูลและฟังก์ชันที่สร้างขึ้นในขณะที่บางส่วนใช้ไลบรารีของบุคคลที่สาม

ความสามารถในการคูณองค์ประกอบอย่างชาญฉลาดเปิดประตูสู่การใช้งานมากมาย ตั้งแต่การวิเคราะห์ข้อมูลไปจนถึงการเรียนรู้ของเครื่อง การดำเนินการเหล่านี้เป็นส่วนสำคัญของอัลกอริทึมและงานคำนวณมากมาย

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

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

มีความสุข Pythoning!

Leave a Comment

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

ค้นพบวิธีที่เราสามารถดาวน์โหลดและติดตั้ง R และ RStudio ซึ่งเป็นทั้งแบบฟรีและแบบโอเพ่นซอร์สสำหรับการเขียนโปรแกรมสถิติและกราฟิก

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือที่ช่วยให้คุณเข้าใจและใช้ได้อย่างมีประสิทธิภาพ

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คำแนะนำทั้งหมดเพื่อทำให้ข้อมูลของคุณมีประสิทธิภาพมากขึ้น

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร