首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表理解列表列表

列表理解列表列表
EN

Stack Overflow用户
提问于 2014-02-02 13:13:04
回答 3查看 49.2K关注 0票数 45

我有一个列表列表,并希望使用列表理解对列表列表中的每个元素应用一个函数,但当我这样做时,我最终得到了一个很长的列表,而不是我的列表列表。

所以,我有

代码语言:javascript
复制
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]

但是我想要得到

代码语言:javascript
复制
[[2, 3, 4], [5, 6, 7], [8, 9, 10]]

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-02 13:17:38

使用以下命令:

代码语言:javascript
复制
[[number+1 for number in group] for group in x]

或者,如果您知道map,请使用以下命令:

代码语言:javascript
复制
[map(lambda x:x+1 ,group) for group in x]
票数 70
EN

Stack Overflow用户

发布于 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 ]

票数 0
EN

Stack Overflow用户

发布于 2019-07-25 00:25:40

代码语言:javascript
复制
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]]
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21507319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档