如何在每個索引的新列表中的以下列表的每個索引處插入整數“5”我有一個清單['2', '6', '8']并想按以下方式插入“5”:['5', '2', '6', '8']['2', '5', '6', '8']['2', '6', '5', '8']['2', '6', '8', '5']
1 回答

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
您可以使用列表理解,使用列表的切片往返每個索引:
>>> 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),所以它并沒有真正產生區別。
添加回答
舉報
0/150
提交
取消