2016-09-16 42 views
10

, ben bir diziye birden elemanlardan oluşan bir dizi eklemek için splice kullanabilirsiniz. Böyle bir yolu var mı? Sadece list.extend kullanmakBir listeye birden çok öğe nasıl eklenir? <code>myArray.splice(insertIndex, removeNElements, ...insertThese)</code></p> <p>Ama</em> sahip concat listeleri olmadan Python <em>benzer bir şey yapmak için bir yol bulmak gibi olamaz: JavaScript'inizde

Örneğin myList = [1, 2, 3] için

ve ben [1, 4, 5, 6, 2, 3]

+0

"list.extend" mi arıyorsunuz? – mgilson

+0

@mgilson Hayır, uzatma sadece sonuna kadar ekler, değil mi? Listede herhangi bir yeri, insertIndex – AlanH

+0

@alfasin Nope ile belirtildiği gibi eklemek istiyorum, çünkü bu birleştirme kullanır. Ayrıca OP bunun için permütasyon istiyor. – AlanH

cevap

12

listesini uzatmak için olsun myList.someMethod(1, otherList) arayarak otherList = [4, 5, 6] eklemek istiyorum. Bir dizinde herhangi iterable öğeleri eklemek için,

>>> a = list(range(10)) 
>>> a 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> a[5:5] = range(3) 
>>> a 
[0, 1, 2, 3, 4, 0, 1, 2, 5, 6, 7, 8, 9] 
1

Python listeleri böyle bir yöntem yok ... dilim ataması kullanabilirsiniz. Burada iki liste alır ve ikinci listeyi belirtilen konuma ilk listeye yerleştirir:

def insert_position(position, list1, list2): 
    return list1[:position] + list2 + list1[position:] 
+0

Not, bu yeni ekleme yönteminden farklı olarak liste – Quantum7