Подтвердить что ты не робот

Как вставить список в другой список?

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10'] 
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']

Я хочу перечислить k на том же уровне, что и foo.py, а не подстрочный.

4b9b3361

Ответ 1

Применить срез:

a[0:0] = k

Или сделайте это вручную:

a = k + a

Первый подход остается неизменным для вставки в любом месте, т.е. a[n:n] = k будет вставлять k в положение n, но второй подход будет не таким, что будет

a = a[:n] + k + a[n:]

Ответ 2

вместо:

>>> a.insert(0, k)

использование:

>>> k.extend(a)
>>> k
['nice', '-n', '10', 'foo.py']

это обновляет список "k" на месте вместо того, чтобы создавать копию.

конкатенация списка (k + a) создаст копию.

параметр разреза (a [0: 0] = k) также будет обновляться "на месте", но IMHO труднее читать.

Ответ 3

Использовать конкатенацию списка:

a = k + a

Ответ 4

>>> k + a
['nice', '-n', '10', 'foo.py']

Ответ 5

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> k.extend(a)
>>> print k
['nice', '-n', '10', 'foo.py']

Ответ 6

    list1=list(xrange(1,11)) # numbers 1 to 10 in list
    list1[:0]=[0,0,0] # adds triple 0s to front of list
    list1+=[11,12,13] #adds [11,12,13] to the end of list
    print list1