面试题-------关于降维列表的
问题 有一个二维列表,降成普通的一维的。比如说柠檬班都会有学员分组,我们想通过分组信息去获取所有 的学员名称。
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]

浙公网安备 33010602011771号