mwc*_*wcz 26 python list insert
我正在寻找实现list extend
函数版本的最pythonic方法,它扩展到给定的索引而不是列表的末尾.
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']
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有建立新列表的情况下这样做?
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']
Run Code Online (Sandbox Code Playgroud)
这种方法实际上并不是那么糟糕,但我预感到它可能会更容易.可以吗?
Dav*_*d Z 59
当然,您可以使用切片索引:
a_list[1:1] = b_list
Run Code Online (Sandbox Code Playgroud)
为了演示通用算法,如果要my_extend
在假设的自定义list
类中实现该函数,它将如下所示:
def my_extend(self, other_list, index):
self[index:index] = other_list
Run Code Online (Sandbox Code Playgroud)
但实际上并没有使它成为一个函数,只需在需要时使用切片表示法.
归档时间: |
|
查看次数: |
11627 次 |
最近记录: |