Birleştirme operatörü +
, listelere uygulandığında, iki işleneninden her birinin tüm öğelerini içeren yeni bir liste döndüren ikili bir infix operatörüdür. list.append()
Yöntem olduğu mutator
üzerinde list
onun tek ekler object
(özel örnekte liste halinde argüman c
deneğe) list
. c
Örneğinizde bu, kendisine bir referans eklemeyle sonuçlanır (dolayısıyla sonsuz özyineleme).
'+' Birleştirmeye bir alternatif
list.extend()
Yöntem ayrıca birleştirir bir mutatör yöntemdir sequence
konu ile argüman list
. Özellikle, öğelerinin her birini sequence
yineleme sırasına göre ekler .
Bir kenara
Operatör olmak +
, ifadenin sonucunu yeni bir değer olarak döndürür. Zincirleme olmayan bir mutator
yöntem olmak list.extend()
, konu listesini yerinde değiştirir ve hiçbir şey döndürmez.
Diziler
Bunu, yukarıdaki Abel'in yanıtının listeler, diziler ve diziler tartışmasını karıştırarak neden olabileceği olası karışıklık nedeniyle ekledim.
Arrays
integral veri türlerinin dizilerini depolamanın daha verimli bir yolu olarak, sıralar ve listelerden sonra Python'a eklenmiştir. Karıştırmayın arrays
ile lists
. Aynı değiller.
Gönderen dizi docs :
Diziler, dizi türleridir ve içlerinde depolanan nesnelerin türünün kısıtlı olması dışında, listeye çok benzer. Tür, nesne oluşturma sırasında, tek bir karakter olan bir tür kodu kullanılarak belirtilir.