Bir for döngüsü ile yapılabilir ama tek satırlık bir yol var mı?
# Girdi l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] # Beklenen çıktı [1, 2, 3, 4, 5, 6, 7, 8, 9]
Altlistelerden elemanları tek tek almadan da yapabiliriz.
liste = [] for altliste in l: liste += altliste
Bu cevap pythonik olmamakla beraber soyle bir cozum var
a = [[1,2], [3,4], [5,6]] sum(a,[])
sum fonksiyonunun ikinci argumani toplamaya hangi degerden baslayacagimizi verir. Python da listelerin toplamasi yeni bir listedir.
sum
Liste içerisinde iterasyonla (list comprehension):
liste = [girdi for altliste in l for girdi in altliste]
Bu aşağıdaki döngü kodunun daha verimlisidir:
liste = [] for altliste in l: for girdi in altliste: liste.append(girdi)