面试题-------关于降维列表的

问题 有一个二维列表,降成普通的一维的。比如说柠檬班都会有学员分组,我们想通过分组信息去获取所有 的学员名称。

groups = [['huahua', 'xiaojian'], ['musen', 'yuze'], ['keyou']]

# 得到结果 ['huahua', 'xiaojian', 'musen', 'yuze', 'keyou']

答案1:

names = []
for group in groups:
for name in group:
names.append(name)
print(names)

上面答案不够简洁,还有一行就可以完成的

答案2

names = sum(groups, [])

解析:为什么可以这么做?a = sum([1,2,3])得到的结果是 6, 也就是说, sum 函数会把一个列表里面的每个元素相加。但是 sum 函数还可以有第 二个参数:开始值,默认为 0 , 所以上述过程其实可以写成: a = sum([1,2,3], 0) # 0 + 1 + 2 + 3,故可以上述这么做。下面还有一个用列表推导式的答案

答案3

a = [e for group in groups for e in group]

 

posted @ 2022-03-13 09:57  道所在虽千万人吾往矣  阅读(74)  评论(0)    收藏  举报