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

เมทริกซ์ความยาวที่กำหนดเองใน Python


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

การใช้ซิป

เราประกาศรายการที่มีองค์ประกอบที่จะใช้ในเมทริกซ์ จากนั้นเราประกาศรายการอื่นซึ่งจะเก็บจำนวนการเกิดขึ้นขององค์ประกอบในเมทริกซ์ การใช้ฟังก์ชัน zip เราสามารถสร้างเมทริกซ์ผลลัพธ์ซึ่งจะเกี่ยวข้องกับ for loop เพื่อจัดระเบียบองค์ประกอบ

ตัวอย่าง

listA = ['m', 'n', 'p','q']

# Count of elements
elem_count = [1,0,3,2]

# Given Lists
print("Given List of elements: " ,listA)
print("Count of elements : ",elem_count)

# Creating Matrix
res = [[x] * y for x, y in zip(listA, elem_count)]

# Result
print("The new matrix is : " ,res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given List of elements: ['m', 'n', 'p', 'q']
Count of elements : [1, 0, 3, 2]
The new matrix is : [['m'], [], ['p', 'p', 'p'], ['q', 'q']]

พร้อมแผนที่และ mul

ในวิธีนี้เราใช้เมธอด mul จากโมดูลตัวดำเนินการแทนวิธี zip ด้านบน นอกจากนี้ ฟังก์ชันแผนที่ยังใช้วิธี mul กับทุกองค์ประกอบในรายการ ดังนั้นจึงไม่จำเป็นต้องใช้ for วนซ้ำ

ตัวอย่าง

from operator import mul

listA = ['m', 'n', 'p','q']

# Count of elements
elem_count = [1,0,3,2]

# Given Lists
print("Given List of elements: " ,listA)
print("Count of elements : ",elem_count)

# Creating Matrix
res = list(map(mul, listA, elem_count))

# Result
print("The new matrix is : " ,res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given List of elements: ['m', 'n', 'p', 'q']
Count of elements : [1, 0, 3, 2]
The new matrix is : ['m', '', 'ppp', 'qq']