簡體   English   中英

在python列表的每個索引處插入整數

[英]inserting integer at each index of python list

我將如何在每個索引的新列表中的每個索引列表的每個索引處插入整數“5”

我有一個清單

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

並想以下列方式插入“5”:

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

您可以使用列表理解來使用列表的切片到每個索引和從每個索引:

>>> 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) ,所以它並沒有真正的區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM