Sto cercando il modo più poderoso di implementare una versione della funzione lista extend
, dove si estende a un dato indice anziché alla fine del elenco.elenco estendere() per indicizzare, inserire gli elementi dell'elenco non solo alla fine
a_list = [ "I", "rad", "list" ]
b_list = [ "am", "a" ]
a_list.my_extend(b_list, 1) # insert the items from b_list into a_list at index 1
print(a_list) # would output: ['I', 'am', 'a', 'rad', 'list']
C'è un modo per farlo senza creare un nuovo elenco, come questo?
a_list = [ "I", "rad", "list" ]
b_list = [ "am", "a" ]
c_list = []
c_list.extend(a_list[:1])
c_list.extend(b_list )
c_list.extend(a_list[1:])
print(c_list) # outputs: ['I', 'am', 'a', 'rad', 'list']
Questo approccio non è in realtà così grave, ma ho la sensazione che potrebbe essere più facile. Può?
Non c'è niente di sbagliato nella creazione di una nuova lista, ma perché lo fai a passi? È molto più semplice di questo: 'c_list = a_list [: 1] + b_list + a_list [1:]'. –
Non sapevo che + era sovraccarico per le liste. – mwcz
Avevo bisogno della stessa cosa, ma quasi chiedevo, invece, un modo per far "inserire" a comportarsi aggiungendo elementi di lista "scompattati" all'indice in un modo simile "estendi" ... la risposta sarebbe stata la stessa :-D – danicotra