将列表解压缩到元组的中间
问题内容:
我有一个大小不确定的清单:
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