Python - 像Ruby一样在列表的中间插入列表的所有元素

pgp*_*lla 0 python list

在Ruby中我可以做到:

irb(main):002:0> [1, 2, 3, *[4, 5], 6, 7]
=> [1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

是否有Python等价物?Ruby语法在Python中无效:

>>> l = [1, 2, 3, *[4, 5], 6, 7]
  File "<stdin>", line 1
    l = [1, 2, 3, *[4, 5], 6, 7]
              ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我知道我可以做下面两个选项,但我更喜欢Ruby方式.

Python - 选项1

l = [1, 2, 3]
l += [4, 5]
l += [6, 7]
Run Code Online (Sandbox Code Playgroud)

Python - 选项2

l = [1, 2, 3, 6, 7]
l = l[:3] + [4, 5] + l[3:]
Run Code Online (Sandbox Code Playgroud)

use*_*ica 9

升级你的Python.那是现在的有效语法.它自3.5起有效.

>>> [1, 2, *[3, 4], 5]
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

如果您坚持使用旧版本,则没有相应的版本.