嵌入式列表理解在python中可能吗?

时间:2017-02-17 22:44:07

标签: python list-comprehension

所以我试图围绕列表理解。这就是我所拥有的。

all_students = [line.split() for line in data]
all_students = [[data.strip() for data in student]for student in all_students]

效果很好。按预期返回我的数组数组。我的问题是,是否可以将这两种表达式合二为一?我尝试了很多东西,答案(如果可能的话)仍然没有找到我。

3 个答案:

答案 0 :(得分:1)

我认为你的逻辑等同于这个:

[[d.strip() for d in line.split()] for line in data]

一个例子(不完全确定是否是你的情况):

data = ['a b', 'c d']

[[d.strip() for d in line.split()] for line in data]
# [['a', 'b'], ['c', 'd']]

all_students = [line.split() for line in data]
[[data.strip() for data in student]for student in all_students]
# [['a', 'b'], ['c', 'd']]

答案 1 :(得分:1)

可能这个?

all_students = [[d.strip() for d in stu] for stu in map(str.split, data)]

答案 2 :(得分:0)

您可以使用其他列表理解来代替all_students

all_students = [[data.strip() for data in student] for student in [line.split() for line in data]]