有没有更好的方法同时插入和扩展列表?这是我目前正在做的一个丑陋的例子.(假设我想在'2'元素之后插入'2.4'和'2.6'):
>>> a = ['1', '2', '3', '4']
>>> b = a[:a.index('2')+1] + ['2.4', '2.6'] + a[a.index('2'):]
>>> b
<<< ['1', '2', '2.4', '2.6', '3', '4']
Run Code Online (Sandbox Code Playgroud)
Mar*_*rot 15
>>> a = ['1', '2', '3', '4']
>>> a
['1', '2', '3', '4']
>>> i = a.index('2') + 1 # after the item '2'
>>> a[i:i] = ['2.4', '2.6']
>>> a
['1', '2', '2.4', '2.6', '3', '4']
>>>
Run Code Online (Sandbox Code Playgroud)
您可以使用list.insert(i, x)Python定义的单个元素轻松插入s[i:i] = [x].
a = ['1', '2', '3', '4']
for elem in reversed(['2.4', '2.6']):
a.insert(a.index('2')+1, elem))
Run Code Online (Sandbox Code Playgroud)
如果要插入列表,可以创建省略[]的函数:
def iextend(lst, i, x):
lst[i:i] = x
a = ['1', '2', '3', '4']
iextend(a, a.index('2')+1, ['2.4', '2.6']
# a = ['1', '2', '2.4', '2.6', '3', '4']
Run Code Online (Sandbox Code Playgroud)