>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
我想列出k
与foo.py
相同,而不是子列表。如何在另一个列表的前面插入列表?
>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
我想列出k
与foo.py
相同,而不是子列表。如何在另一个列表的前面插入列表?
适用切片:
a[0:0] = k
或手动做到这一点:
a = k + a
第一种方法保持不变插入在任何地方,即a[n:n] = k
将在位置n插入K,但第二种方法将不会相同,那将是
a = a[:n] + k + a[n:]
>>> k + a
['nice', '-n', '10', 'foo.py']
使用连接列表:
a = k + a
代替:
>>> a.insert(0, k)
使用:
>>> k.extend(a)
>>> k
['nice', '-n', '10', 'foo.py']
此更新 “到位” 的 “K” 列表,而不是创建副本。
列表串联(k + a)将创建一个副本。
切片选择(a [0:0] = K)也将更新 “就地” 但IMHO是更难阅读。
>>> a = ['foo.py']
>>> k = ['nice', '-n', '10']
>>> k.extend(a)
>>> print k
['nice', '-n', '10', 'foo.py']
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
哇!让我试着去琢磨一下。 – canadadry 2012-01-09 08:28:12
我选择了切片解决方案。谢谢。 – canadadry 2012-01-10 02:20:42