วิธีแก้ปัญหาที่ง่ายและตรงไปตรงมาคือการผนวกรายการจากรายการย่อยในรายการแบบเรียบโดยใช้สองลูปที่ซ้อนกัน
lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]] flatlist = [] for sublist in lst: for item in sublist: flatlist.append(item) print (flatlist)
โซลูชันที่มีขนาดกะทัดรัดและ Pythonic มากขึ้นคือการใช้ฟังก์ชัน chain() จากโมดูล itertools
>>> lst =[[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]] >>> import itertools >>> flatlist = list(itertools.chain(*lst)) >>> flatlist [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]