簡體   English   中英

創建每個迭代包含多個元素的Python列表

[英]Create a Python List with Multiple Elements per Iteration

def f1(x): return [(x+1)*2-1, (x+1)*2-1]
def f2(x): return [(x+1)*2, (x+1)*2]

[[f1(i), f2(i)] for i in np.arange(3)]

這是生成3個列表對元素的list的代碼:

[[[1, 1], [2, 2]], [[3, 3], [4, 4]], [[5, 5], [6, 6]]]

但是,我想獲得像下面這樣的list其中包含一行for循環

[[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6]]

這就是多行的工作方式:

n = []
for i in np.arange(3):
    n += [f1(i), f2(i)]

就像每次嘗試組成2個元素,而我不知道如何為一行代碼實現+= 我怎樣才能做到這一點?

[x for i in np.arange(3) for x in [f1(i), f2(i)]]

使用具有兩個for子句的列表理解。

我可以做這樣的事情:

[f1(i) for i in np.arange(3)] + [f2(i) for i in np.arange(3)]

但是還有更好的方法嗎?

暫無
暫無

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

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