将列表解压缩到元组的中间


问题内容

我有一个大小不确定的清单:

l = [...]

我想将此列表解压缩为具有其他值的元组,但是以下操作失败:

t = ("AA", "B", *l, "C")

如何形成以下形式?

t = ("AA", "B", l[0], ..., l[:-1], "C")

编辑:最好只做一个切片[a:b]:

t = ("AA", "B", l[a], ..., l[b], "C")

问题答案:

从python 3.5开始,您现在可以使用第一种方法:

>>> l = [1, 2, 3]
>>> t = ("AA", "B", *l, "C")
>>> t
('AA', 'B', 1, 2, 3, 'C')

您可以按预期使用切片:

>>> ("AA", "B", *l[:-1], "C")
('AA', 'B', 1, 2, 'C')

相关PEP,以供参考:PEP448