รายการที่ซ้อนกันคือรายการภายในรายการ Python มีคุณสมบัติในการจัดการรายการที่ซ้อนกันอย่างสวยงามและใช้ฟังก์ชันทั่วไปเพื่อจัดการกับรายการที่ซ้อนกัน ในบทความนี้ เราจะมาดูวิธีการใช้ list comprehension เพื่อสร้างและใช้รายการที่ซ้อนกันใน python
การสร้างเมทริกซ์
การสร้างเมทริกซ์เกี่ยวข้องกับการสร้างชุดของแถวและคอลัมน์ เราสามารถใช้ for loop เพื่อสร้างแถวและคอลัมน์ของเมทริกซ์โดยใส่รายการ python หนึ่งรายการด้วย for loop ในรายการ python อีกรายการที่มี for loop
ตัวอย่าง
matrix = [[m for m in range(4)] for n in range(3)] print(matrix)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
การกรองจากรายการซ้อน
เราสามารถใช้ list comprehension พร้อมคุณสมบัติการกรองโดยใช้ for loop ภายในรายการย่อย ด้านล่างเรามีรายการ 2 มิติพร้อมรายการย่อยหนึ่งชั้นในรายการที่ใหญ่กว่า เราเข้าถึงองค์ประกอบที่เลือกได้จากแต่ละรายการที่ซ้อนกันเหล่านี้ โดยใช้เงื่อนไขการกรอง
ตัวอย่าง
years = [['January', 'February', 'March'], ['April', 'May', 'June'], ['July', 'August', 'September'],['October','November','December']] # Nested List comprehension with an if condition years = [years for sublist in years for years in sublist if len(years) <= 5] print(years)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
['March', 'April', 'May', 'June', 'July']
แบนรายการย่อยที่ซ้อนกัน
นอกจากนี้เรายังสามารถนำรายการที่ซ้อนกันและทำให้เรียบโดยการสร้างรายการเดียวโดยไม่ต้องมีรายการย่อยอยู่ภายใน
ตัวอย่าง
nested_list = [[1] ,[17, 19], [21,23,25], [32,35,37,39]] # Nested List Comprehension to flatten a given 2-D matrix flattened_list = [value for sublist in nested_list for value in sublist] print(flattened_list)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
[1, 17, 19, 21, 23, 25, 32, 35, 37, 39]