>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
Я хочу перечислить k на том же уровне, что и foo.py, а не подстрочный.
Ответ 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