簡體   English   中英

列表理解列表列表

[英]List comprehension list of lists

我有一個列表列表,並且想使用列表理解將函數應用於列表列表中的每個元素,但是當我這樣做時,我最終得到一個長列表而不是我的列表列表。

所以我有

x = [[1,2,3],[4,5,6],[7,8,9]]
[number+1 for group in x for number in group]
[2, 3, 4, 5, 6, 7, 8, 9, 10]

但我想得到

[[2, 3, 4], [5, 6, 7], [8, 9, 10]]

我該怎么做?

用這個:

[[number+1 for number in group] for group in x]

或者,如果您知道地圖,請使用它:

[map(lambda x:x+1 ,group) for group in x]

從數據結構開始:

x = [[1,2,3],[4,5,6],[7,8,9]]

每個組都是一個三元組[a,b,c],所以為了可讀性,我考慮了一個解決方案,如:

«從列表中取出每組 [a,b,c] 並提供給我[a+1,b+1,c+1] 的列表»

x_increased = [ [a+1,b+1,c+1] for [a,b,c] in x ]

lista = [[i+3*(j-1) for i in range(1,4)] for j in range(1,4)]

print(lista)
# outputs [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

暫無
暫無

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

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