在python列表的每个索引处插入整数

如何在每个索引的新列表中的以下列表的每个索引处插入整数“5”


我有一个清单


['2', '6', '8']

并想按以下方式插入“5”:


['5', '2', '6', '8']

['2', '5', '6', '8']

['2', '6', '5', '8']

['2', '6', '8', '5']


慕尼黑的夜晚无繁华
浏览 100回答 1
1回答

蝴蝶刀刀

您可以使用列表理解,使用列表的切片往返每个索引:>>> lst = ['2', '6', '8']>>> [lst[:i] + ["5"] + lst[i:] for i in range(len(lst)+1)][['5', '2', '6', '8'], ['2', '5', '6', '8'], ['2', '6', '5', '8'], ['2', '6', '8', '5']]或者使用*-unpacking,相同的结果:[[*lst[:i], "5", *lst[i:]] for ...]。两个版本都会创建一堆临时列表切片。另一种方法是使用循环,复制列表,然后调用insert; 两种方法每个列表都应该有~O(2n),所以它并没有真正产生区别。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python