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

วิธี Flatten Shallow List ใน Python

วิธีง่ายและตรงไปตรงมาคือ Append Items จาก Sublists ใน Flat List โดยใช้ For Loop ซ้อนสองชั้น

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)

วิธีที่ Compact และ Pythonic มากกว่าคือใช้ chain() Function จาก Module 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]