>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
我想列出k
与foo.py
处于同一级别,而不是子列表。
答案 0 :(得分:39)
应用切片:
a[0:0] = k
或者手动完成:
a = k + a
第一种方法在任何地方插入都保持不变,即a[n:n] = k
将k插入位置n,但第二种方法将不相同,即
a = a[:n] + k + a[n:]
答案 1 :(得分:13)
而不是:
>>> a.insert(0, k)
使用:
>>> k.extend(a)
>>> k
['nice', '-n', '10', 'foo.py']
这将“就地”更新“k”列表,而不是创建副本。
列表连接(k + a)将创建一个副本。
切片选项(a [0:0] = k)也会“就地”更新,但恕我直言更难阅读。
答案 2 :(得分:5)
使用列表连接:
a = k + a
答案 3 :(得分:2)
>>> k + a
['nice', '-n', '10', 'foo.py']
答案 4 :(得分:0)
>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> k.extend(a)
>>> print k
['nice', '-n', '10', 'foo.py']
答案 5 :(得分:0)
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