簡體   English   中英

Python:如何以列表推導格式擴展或追加多個元素?

[英]Python: How to extend or append multiple elements in list comprehension format?

我希望得到一個很好的整潔列表理解這個代碼或類似的東西!

extra_indices = []
for i in range(len(indices)):
    index = indices[i]
    extra_indices.extend([index, index + 1, index +2])

謝謝!

編輯*索引是整數列表。 另一個數組的索引列表。

例如,如果索引是[1,52,150]那么目標(這里,這是我第二次想要對列表理解中的連續索引輸出進行兩次單獨的操作)

那么extra_indices將是[1,2,3,52,53,54,150,151,152]

你可以在list comp中使用兩個循環 -

extra_indices = [index+i for index in indices for i in range(3)]

假設indices是一個整數列表,下面的代碼應該做你的代碼的等價物

from itertools import chain
extra_indices = list(chain(*([x,x+1,x+2] for x in indices)))

>>> indices = range(3)
>>> list(chain(*([x,x+1,x+2] for x in indices)))
>>> [0, 1, 2, 1, 2, 3, 2, 3, 4]

暫無
暫無

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

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