我有一个列表列表,并希望使用列表理解对列表列表中的每个元素应用一个函数,但当我这样做时,我最终得到了一个很长的列表,而不是我的列表列表。
所以,我有
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]]我该怎么做呢?
发布于 2014-02-02 13:17:38
使用以下命令:
[[number+1 for number in group] for group in x]或者,如果您知道map,请使用以下命令:
[map(lambda x:x+1 ,group) for group in x]发布于 2021-05-11 15:58:44
从数据的结构开始:
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 ]
发布于 2019-07-25 00:25:40
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]]https://stackoverflow.com/questions/21507319
复制相似问题